Merge pull request #626 from oxen-io/dev

Dev 1.12.8
This commit is contained in:
RyanZhao 2022-05-18 09:01:04 +10:00 committed by GitHub
commit 0856a66ec3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 2187 additions and 1396 deletions

View File

@ -5181,7 +5181,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@ -5206,7 +5206,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -5254,7 +5254,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
@ -5284,7 +5284,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -5320,7 +5320,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@ -5343,7 +5343,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension";
@ -5394,7 +5394,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
@ -5422,7 +5422,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension";
@ -6330,7 +6330,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements; CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@ -6370,7 +6370,7 @@
"$(SRCROOT)", "$(SRCROOT)",
); );
LLVM_LTO = NO; LLVM_LTO = NO;
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
OTHER_LDFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
@ -6403,7 +6403,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements; CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 342; CURRENT_PROJECT_VERSION = 344;
DEVELOPMENT_TEAM = SUQ8J2PCT7; DEVELOPMENT_TEAM = SUQ8J2PCT7;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@ -6443,7 +6443,7 @@
"$(SRCROOT)", "$(SRCROOT)",
); );
LLVM_LTO = NO; LLVM_LTO = NO;
MARKETING_VERSION = 1.12.7; MARKETING_VERSION = 1.12.8;
OTHER_LDFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
PRODUCT_NAME = Session; PRODUCT_NAME = Session;

View File

@ -2,9 +2,17 @@
import WebRTC import WebRTC
import Foundation import Foundation
#if arch(arm64)
// Note: 'RTCMTLVideoView' requires arm64 (so won't work on the simulator which
// we need to build for x86_64 due to WebRTC not supporting arm64 simulator builds)
typealias TargetView = RTCMTLVideoView
#else
typealias TargetView = RTCEAGLVideoView
#endif
// MARK: RemoteVideoView // MARK: RemoteVideoView
class RemoteVideoView: RTCMTLVideoView { class RemoteVideoView: TargetView {
override func renderFrame(_ frame: RTCVideoFrame?) { override func renderFrame(_ frame: RTCVideoFrame?) {
super.renderFrame(frame) super.renderFrame(frame)
@ -39,7 +47,7 @@ class RemoteVideoView: RTCMTLVideoView {
// Assume we're already setup for the correct orientation. // Assume we're already setup for the correct orientation.
break break
} }
#if arch(arm64)
if let rotationOverride = rotationOverride { if let rotationOverride = rotationOverride {
self.rotationOverride = NSNumber(value: rotationOverride.rawValue) self.rotationOverride = NSNumber(value: rotationOverride.rawValue)
if [ RTCVideoRotation._0, RTCVideoRotation._180 ].contains(rotationOverride) { if [ RTCVideoRotation._0, RTCVideoRotation._180 ].contains(rotationOverride) {
@ -59,13 +67,14 @@ class RemoteVideoView: RTCMTLVideoView {
if frameRatio < 1.5 { if frameRatio < 1.5 {
self.videoContentMode = .scaleAspectFit self.videoContentMode = .scaleAspectFit
} }
#endif
} }
} }
} }
// MARK: LocalVideoView // MARK: LocalVideoView
class LocalVideoView: RTCMTLVideoView { class LocalVideoView: TargetView {
static let width: CGFloat = 80 static let width: CGFloat = 80
static let height: CGFloat = 173 static let height: CGFloat = 173
@ -77,7 +86,9 @@ class LocalVideoView: RTCMTLVideoView {
// sometimes the rotationOverride is not working // sometimes the rotationOverride is not working
// if it is only set once on initialization // if it is only set once on initialization
self.rotationOverride = NSNumber(value: RTCVideoRotation._0.rawValue) self.rotationOverride = NSNumber(value: RTCVideoRotation._0.rawValue)
#if arch(arm64)
self.videoContentMode = .scaleAspectFill self.videoContentMode = .scaleAspectFill
#endif
} }
} }
} }

View File

@ -16,6 +16,9 @@ final class MiniCallView: UIView, RTCVideoViewDelegate {
private var top: NSLayoutConstraint? private var top: NSLayoutConstraint?
private var bottom: NSLayoutConstraint? private var bottom: NSLayoutConstraint?
#if arch(arm64)
// Note: 'RTCMTLVideoView' requires arm64 (so won't work on the simulator which
// we need to build for x86_64 due to WebRTC not supporting arm64 simulator builds)
private lazy var remoteVideoView: RTCMTLVideoView = { private lazy var remoteVideoView: RTCMTLVideoView = {
let result = RTCMTLVideoView() let result = RTCMTLVideoView()
result.delegate = self result.delegate = self
@ -24,6 +27,15 @@ final class MiniCallView: UIView, RTCVideoViewDelegate {
result.backgroundColor = .black result.backgroundColor = .black
return result return result
}() }()
#else
private lazy var remoteVideoView: RTCEAGLVideoView = {
let result = RTCEAGLVideoView()
result.delegate = self
result.alpha = self.callVC.call.isRemoteVideoEnabled ? 1 : 0
result.backgroundColor = .black
return result
}()
#endif
// MARK: Initialization // MARK: Initialization
public static var current: MiniCallView? public static var current: MiniCallView?

View File

@ -1,4 +1,5 @@
import PromiseKit import PromiseKit
import SessionMessagingKit
@objc(SNEditClosedGroupVC) @objc(SNEditClosedGroupVC)
final class EditClosedGroupVC : BaseVC, UITableViewDataSource, UITableViewDelegate { final class EditClosedGroupVC : BaseVC, UITableViewDataSource, UITableViewDelegate {
@ -292,6 +293,7 @@ final class EditClosedGroupVC : BaseVC, UITableViewDataSource, UITableViewDelega
}, completion: { }, completion: {
let _ = promise.done(on: DispatchQueue.main) { let _ = promise.done(on: DispatchQueue.main) {
guard let self = self else { return } guard let self = self else { return }
MentionsManager.populateUserPublicKeyCacheIfNeeded(for: self.thread.uniqueId!)
self.dismiss(animated: true, completion: nil) // Dismiss the loader self.dismiss(animated: true, completion: nil) // Dismiss the loader
popToConversationVC(self) popToConversationVC(self)
} }

View File

@ -95,4 +95,5 @@ protocol ContextMenuActionDelegate : AnyObject {
func save(_ viewItem: ConversationViewItem) func save(_ viewItem: ConversationViewItem)
func ban(_ viewItem: ConversationViewItem) func ban(_ viewItem: ConversationViewItem)
func banAndDeleteAllMessages(_ viewItem: ConversationViewItem) func banAndDeleteAllMessages(_ viewItem: ConversationViewItem)
func contextMenuDismissed()
} }

View File

@ -132,6 +132,7 @@ final class ContextMenuVC : UIViewController {
self.timestampLabel.alpha = 0 self.timestampLabel.alpha = 0
}, completion: { _ in }, completion: { _ in
self.dismiss() self.dismiss()
self.delegate?.contextMenuDismissed()
}) })
} }
} }

View File

@ -815,6 +815,10 @@ extension ConversationVC : InputViewDelegate, MessageCellDelegate, ContextMenuAc
alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil)) alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
presentAlert(alert) presentAlert(alert)
} }
func contextMenuDismissed() {
recoverInputView()
}
func handleQuoteViewCancelButtonTapped() { func handleQuoteViewCancelButtonTapped() {
snInputView.quoteDraftInfo = nil snInputView.quoteDraftInfo = nil
@ -1192,12 +1196,16 @@ extension ConversationVC {
// Delete all thread content // Delete all thread content
self?.thread.removeAllThreadInteractions(with: transaction) self?.thread.removeAllThreadInteractions(with: transaction)
self?.thread.remove(with: transaction)
}, },
completion: { [weak self] in completion: { [weak self] in
// Force a config sync and pop to the previous screen // Force a config sync and pop to the previous screen
MessageSender.syncConfiguration(forceSyncNow: true).retainUntilComplete() MessageSender.syncConfiguration(forceSyncNow: true).retainUntilComplete()
// Remove the thread after the config message is sent.
// Otherwise the blocked user won't be included in the
// config message.
self?.thread.remove()
DispatchQueue.main.async { DispatchQueue.main.async {
self?.navigationController?.popViewController(animated: true) self?.navigationController?.popViewController(animated: true)
} }

View File

@ -420,7 +420,7 @@ final class ConversationVC : BaseVC, ConversationViewModelDelegate, OWSConversat
highlightFocusedMessageIfNeeded() highlightFocusedMessageIfNeeded()
didFinishInitialLayout = true didFinishInitialLayout = true
markAllAsRead() markAllAsRead()
self.becomeFirstResponder() recoverInputView()
} }
override func viewWillDisappear(_ animated: Bool) { override func viewWillDisappear(_ animated: Bool) {
@ -438,9 +438,7 @@ final class ConversationVC : BaseVC, ConversationViewModelDelegate, OWSConversat
} }
override func appDidBecomeActive(_ notification: Notification) { override func appDidBecomeActive(_ notification: Notification) {
// This is a workaround for an issue where the textview is not scrollable recoverInputView()
// after the app goes into background and goes back in foreground.
self.snInputView.text = self.snInputView.text
} }
deinit { deinit {
@ -495,9 +493,10 @@ final class ConversationVC : BaseVC, ConversationViewModelDelegate, OWSConversat
} }
} }
else { else {
// Note: Adding an empty button because without it the title alignment is busted (Note: The size was // Note: Adding 2 empty buttons because without it the title alignment is busted (Note: The size was
// taken from the layout inspector for the back button in Xcode // taken from the layout inspector for the back button in Xcode
rightBarButtonItems.append(UIBarButtonItem(customView: UIView(frame: CGRect(x: 0, y: 0, width: 37, height: 44)))) rightBarButtonItems.append(UIBarButtonItem(customView: UIView(frame: CGRect(x: 0, y: 0, width: Values.verySmallProfilePictureSize, height: 44))))
rightBarButtonItems.append(UIBarButtonItem(customView: UIView(frame: CGRect(x: 0, y: 0, width: 44, height: 44))))
} }
} }
else { else {
@ -737,6 +736,14 @@ final class ConversationVC : BaseVC, ConversationViewModelDelegate, OWSConversat
} }
} }
func recoverInputView() {
// This is a workaround for an issue where the textview is not scrollable
// after the app goes into background and goes back in foreground.
DispatchQueue.main.async {
self.snInputView.text = self.snInputView.text
}
}
func markAllAsRead() { func markAllAsRead() {
guard let lastSortID = viewItems.last?.interaction.sortId else { return } guard let lastSortID = viewItems.last?.interaction.sortId else { return }
OWSReadReceiptManager.shared().markAsReadLocally( OWSReadReceiptManager.shared().markAsReadLocally(

View File

@ -327,7 +327,7 @@ CGFloat kIconViewLength = 24;
}]]; }]];
// Disappearing messages // Disappearing messages
if (![self isOpenGroup]) { if (![self isOpenGroup] && !self.thread.isBlocked) {
[section addItem:[OWSTableItem itemWithCustomCellBlock:^{ [section addItem:[OWSTableItem itemWithCustomCellBlock:^{
UITableViewCell *cell = [OWSTableItem newCell]; UITableViewCell *cell = [OWSTableItem newCell];
OWSConversationSettingsViewController *strongSelf = weakSelf; OWSConversationSettingsViewController *strongSelf = weakSelf;

View File

@ -50,6 +50,10 @@ final class ConversationTitleView : UIView {
private func initialize() { private func initialize() {
addSubview(stackView) addSubview(stackView)
stackView.pin(to: self) stackView.pin(to: self)
let shouldShowCallButton = SessionCall.isEnabled && !thread.isNoteToSelf() && !thread.isGroupThread()
let leftMargin: CGFloat = shouldShowCallButton ? 54 : 8 // Contact threads also have the call button to compensate for
stackView.layoutMargins = UIEdgeInsets(top: 0, left: leftMargin, bottom: 0, right: 0)
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap)) let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
addGestureRecognizer(tapGestureRecognizer) addGestureRecognizer(tapGestureRecognizer)
let notificationCenter = NotificationCenter.default let notificationCenter = NotificationCenter.default
@ -70,11 +74,6 @@ final class ConversationTitleView : UIView {
subtitleLabel.attributedText = subtitle subtitleLabel.attributedText = subtitle
let titleFontSize = (subtitle != nil) ? Values.mediumFontSize : Values.veryLargeFontSize let titleFontSize = (subtitle != nil) ? Values.mediumFontSize : Values.veryLargeFontSize
titleLabel.font = .boldSystemFont(ofSize: titleFontSize) titleLabel.font = .boldSystemFont(ofSize: titleFontSize)
// Update title left margin
let shouldShowCallButton = SessionCall.isEnabled && !thread.isNoteToSelf() && !thread.isGroupThread() && !thread.isMessageRequest()
let leftMargin: CGFloat = shouldShowCallButton ? 54 : 8 // Contact threads also have the call button to compensate for
stackView.layoutMargins = UIEdgeInsets(top: 0, left: leftMargin, bottom: 0, right: 0)
} }
// MARK: General // MARK: General

View File

@ -3,13 +3,13 @@
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ ist nun im App Store verfügbar."; "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ ist nun im App Store verfügbar.";
/* Title for the 'new app version available' alert. */ /* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "Neue Version von Session verfügbar"; "APP_UPDATE_NAG_ALERT_TITLE" = "Eine neue Version von Session ist verfügbar";
/* Label for the 'update' button in the 'new app version available' alert. */ /* Label for the 'update' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aktualisieren"; "APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Aktualisieren";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"ATTACHMENT" = "Anhang"; "ATTACHMENT" = "Anhang";
/* One-line label indicating the user can add no more text to the attachment caption. */ /* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Zeichen Limit erreicht."; "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Maximale Zeichen erreicht.";
/* placeholder text for an empty captioning field */ /* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Bemerkung hinzufügen …"; "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Bemerkung hinzufügen …";
/* Title for 'caption' mode of the attachment approval view. */ /* Title for 'caption' mode of the attachment approval view. */
@ -19,7 +19,7 @@
/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */
"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Größe: %@"; "ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Größe: %@";
/* One-line label indicating the user can add no more text to the media message field. */ /* One-line label indicating the user can add no more text to the media message field. */
"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Nachrichtenlimit erreicht."; "ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Nachrichtenlimit erreicht";
/* Label for 'send' button in the 'attachment approval' dialog. */ /* Label for 'send' button in the 'attachment approval' dialog. */
"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Senden"; "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Senden";
/* Generic filename for an attachment with no known name */ /* Generic filename for an attachment with no known name */
@ -75,7 +75,7 @@
/* Indicates that the backup import data is being finalized. */ /* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Sicherung wird abgeschlossen"; "BACKUP_IMPORT_PHASE_FINALIZING" = "Sicherung wird abgeschlossen";
/* Indicates that the backup import data is being imported. */ /* Indicates that the backup import data is being imported. */
"BACKUP_IMPORT_PHASE_IMPORT" = "Sicherung wird importiert"; "BACKUP_IMPORT_PHASE_IMPORT" = "Sicherung wird importiert.";
/* Indicates that the backup database is being restored. */ /* Indicates that the backup database is being restored. */
"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Datenbank wird wiederhergestellt"; "BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Datenbank wird wiederhergestellt";
/* Indicates that the backup import data is being restored. */ /* Indicates that the backup import data is being restored. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Link-Vorschauen senden"; "SETTINGS_LINK_PREVIEWS" = "Link-Vorschauen senden";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Linkvorschau ist verfügbar für Imgur, Instagram, Pinterest, Reddit, und YouTube Links."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Vorschauen werden für die meisten Urls unterstützt.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link-Vorschauen"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Link-Vorschauen";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Sprach- und Videoanrufe";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Erlauben, Sprach- und Videoanrufe von anderen Nutzern anzunehmen.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Anrufe";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Mitteilungsinhalt"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Mitteilungsinhalt";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -519,10 +525,10 @@
"modal_clear_all_data_title" = "Alle Daten löschen"; "modal_clear_all_data_title" = "Alle Daten löschen";
"modal_clear_all_data_explanation" = "Dadurch werden Ihre Nachrichten, Sessions und Kontakte dauerhaft gelöscht."; "modal_clear_all_data_explanation" = "Dadurch werden Ihre Nachrichten, Sessions und Kontakte dauerhaft gelöscht.";
"modal_clear_all_data_explanation_2" = "Möchtest du nur dieses Gerät löschen oder dein gesamtes Konto löschen?"; "modal_clear_all_data_explanation_2" = "Möchtest du nur dieses Gerät löschen oder dein gesamtes Konto löschen?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Daten nicht gelöscht von Service Node 1. Service Node ID: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Daten nicht gelöscht von %@ Service Noten. Service Noten IDs: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Nur Geräte";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Gesamtes Konto";
"vc_qr_code_title" = "QR-Code"; "vc_qr_code_title" = "QR-Code";
"vc_qr_code_view_my_qr_code_tab_title" = "Meinen QR-Code anzeigen"; "vc_qr_code_view_my_qr_code_tab_title" = "Meinen QR-Code anzeigen";
"vc_qr_code_view_scan_qr_code_tab_title" = "QR-Code scannen"; "vc_qr_code_view_scan_qr_code_tab_title" = "QR-Code scannen";
@ -555,61 +561,81 @@
"modal_open_url_title" = "URL öffnen?"; "modal_open_url_title" = "URL öffnen?";
"modal_open_url_explanation" = "Möchten Sie %@ wirklich öffnen?"; "modal_open_url_explanation" = "Möchten Sie %@ wirklich öffnen?";
"modal_open_url_button_title" = "Öffnen"; "modal_open_url_button_title" = "Öffnen";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Link kopieren";
"modal_blocked_title" = "%@ entsperren?"; "modal_blocked_title" = "%@ entsperren?";
"modal_blocked_explanation" = "Sind Sie sicher, dass Sie %@ entsperren möchten?"; "modal_blocked_explanation" = "Sind Sie sicher, dass Sie %@ entsperren möchten?";
"modal_blocked_button_title" = "Entsperren"; "modal_blocked_button_title" = "Entsperren";
"modal_link_previews_title" = "Link-Vorschau aktivieren?"; "modal_link_previews_title" = "Link-Vorschau aktivieren?";
"modal_link_previews_explanation" = "Das Aktivieren von Link-Vorschauen zeigt Vorschaubilder für URLs, die Sie senden und empfangen. Dies kann nützlich sein, aber Session muss verlinkte Webseiten kontaktieren, um Vorschaubilder zu generieren. Du kannst die Link-Vorschau in den Session-Einstellungen immer deaktivieren."; "modal_link_previews_explanation" = "Das Aktivieren von Link-Vorschauen zeigt Vorschaubilder für URLs, die Sie senden und empfangen. Dies kann nützlich sein, aber Session muss verlinkte Webseiten kontaktieren, um Vorschaubilder zu generieren. Du kannst die Link-Vorschau in den Session-Einstellungen immer deaktivieren.";
"modal_link_previews_button_title" = "Aktivieren"; "modal_link_previews_button_title" = "Aktivieren";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Sprach-/Videoanrufe";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Die aktuelle Implementierung von Sprach- und Videoanrufen wird deine IP-Adresse den Oxen Foundation Servern und dem anderen Benutzer offenbaren.";
"modal_share_logs_title" = "Logs teilen";
"modal_share_logs_explanation" = "Möchten Sie Ihre Anwendungsprotokolle exportieren, um sie später zur Fehlerbehebung teilen zu können?";
"vc_share_title" = "Mit Session teilen"; "vc_share_title" = "Mit Session teilen";
"vc_share_loading_message" = "Anlagen werden vorbereitet..."; "vc_share_loading_message" = "Anlagen werden vorbereitet...";
"vc_share_sending_message" = "Wird gesendet ..."; "vc_share_sending_message" = "Wird gesendet ...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Vorschau nicht für unsicheren Link geladen";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Ansicht konnte nicht geladen werden";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Linkvorschau deaktiviert";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Das Aktivieren von Link-Vorschauen zeigt Vorschaubilder für URLs, die Sie senden und empfangen. Dies kann nützlich sein, aber Session muss verlinkte Webseiten kontaktieren, um Vorschaubilder zu generieren. Du kannst die Link-Vorschau in den Session-Einstellungen immer deaktivieren.";
"view_open_group_invitation_description" = "Gruppeneinladung öffnen"; "view_open_group_invitation_description" = "Gruppeneinladung öffnen";
"vc_conversation_settings_invite_button_title" = "Mitglieder hinzufügen"; "vc_conversation_settings_invite_button_title" = "Mitglieder hinzufügen";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Häufig gestellte Fragen";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Umfrage";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Debug-Protokoll";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Warnung";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Dies ist dein Wiederherstellungssatz. Wenn du ihn jemandem schickst, hat er oder sie vollen Zugriff auf dein Konto.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Senden";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Nur für Erwähnungen benachrichtigen";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Wenn aktiviert, wirst du nur für Nachrichten benachrichtigt, die dich erwähnen.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Nur für Erwähnungen benachrichtigen";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Die Nachricht wurde gelöscht";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Nur für mich löschen";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Für jeden löschen";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Für mich und %@ löschen";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Antworten";
"context_menu_save" = "Save"; "context_menu_save" = "Speichern";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Nutzer sperren";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Sperren und alles löschen";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Anhänge hinzufügen";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "GIF";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Dokument";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Fotobibliothek";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Kamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Optionen für Anhänge einklappen";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Ungültige Wiederherstellungsphrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Ungültige Wiederherstellungsphrase";
"DISMISS_BUTTON_TEXT" = "Verwerfen";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Einstellungen";
"voice_call" = "Voice Call"; "call_outgoing" = "Du hast %@ angerufen";
"video_call" = "Video Call"; "call_incoming" = "%@ rief Sie an";
"APN_Message" = "You've got a new message"; "call_missed" = "Verpasster Anruf von %@";
"call_rejected" = "Anruf abgelehnt";
"call_cancelled" = "Abgebrochener Anruf";
"call_timeout" = "Unbeantworteter Anruf";
"voice_call" = "Sprachanruf";
"video_call" = "Videoanruf";
"APN_Message" = "Du hast eine neue Nachricht";
"APN_Collapsed_Messages" = "Du hast %@ neue Nachrichten.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dunkel";
"light_mode_theme" = "Light"; "light_mode_theme" = "Hell";
"PIN_BUTTON_TEXT" = "Anheften";
"UNPIN_BUTTON_TEXT" = "Loslösen";
"modal_call_missed_tips_title" = "Verpasster Anruf";
"modal_call_missed_tips_explanation" = "Verpasster Anruf von '%@', da du die Berechtigung 'Anrufe und Videoanrufe' in den Datenschutzeinstellungen aktivieren musst.";
"meida_saved" = "Medien gespeichert von %@.";
"screenshot_taken" = "%@ hat ein Screenshot gemacht.";
"SEARCH_SECTION_CONTACTS" = "Kontakte und Gruppen";
"SEARCH_SECTION_MESSAGES" = "Nachrichten";
"SEARCH_SECTION_RECENT" = "Zuletzt verwendete";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "letzte Nachricht: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Möchten Sie wirklich alle Nachrichten löschen?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request";

View File

@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Enviar previsualizaciones"; "SETTINGS_LINK_PREVIEWS" = "Enviar previsualizaciones";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Las previsualizaciones están disponibles para enlaces hacia Imgur, Instagram, Pinterest, Reddit y YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Las vistas previas están soportadas para la mayoría de URLs.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Previsualizar enlaces"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Previsualizar enlaces";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Llamadas de voz y video";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Permitir el acceso para aceptar llamadas de voz y vídeo de otros usuarios.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Llamadas";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenido de notificaciones"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenido de notificaciones";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -555,15 +561,17 @@
"modal_open_url_title" = "¿Abrir URL?"; "modal_open_url_title" = "¿Abrir URL?";
"modal_open_url_explanation" = "¿Estás seguro de que quieres abrir %@?"; "modal_open_url_explanation" = "¿Estás seguro de que quieres abrir %@?";
"modal_open_url_button_title" = "Abrir"; "modal_open_url_button_title" = "Abrir";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Copiar Enlace";
"modal_blocked_title" = "¿Desbloquear a %@?"; "modal_blocked_title" = "¿Desbloquear a %@?";
"modal_blocked_explanation" = "¿Estás seguro de que quieres desbloquear a %@?"; "modal_blocked_explanation" = "¿Estás seguro de que quieres desbloquear a %@?";
"modal_blocked_button_title" = "Desbloquear"; "modal_blocked_button_title" = "Desbloquear";
"modal_link_previews_title" = "¿Habilitar Previsualizaciones de Enlace?"; "modal_link_previews_title" = "¿Habilitar Previsualizaciones de Enlace?";
"modal_link_previews_explanation" = "Activar vista previa de enlaces mostrará las vistas previas para las URL que envíe y reciba. Esto puede ser útil, pero Session tendrá que ponerse en contacto con los sitios web enlazados para generar vistas previas. Siempre puedes desactivar las vistas previas de enlaces en la configuración de Session."; "modal_link_previews_explanation" = "Activar vista previa de enlaces mostrará las vistas previas para las URL que envíe y reciba. Esto puede ser útil, pero Session tendrá que ponerse en contacto con los sitios web enlazados para generar vistas previas. Siempre puedes desactivar las vistas previas de enlaces en la configuración de Session.";
"modal_link_previews_button_title" = "Activar"; "modal_link_previews_button_title" = "Activar";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Llamadas de voz / video";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "La implementación actual de llamadas de voz/video expondrá tu dirección IP a los servidores de Oxen Foundation y al usuario llamado.";
"modal_share_logs_title" = "Compartir registros";
"modal_share_logs_explanation" = "¿Quiere exportar los registros de su aplicación para poder compartir para la solución de problemas?";
"vc_share_title" = "Compartir en Session"; "vc_share_title" = "Compartir en Session";
"vc_share_loading_message" = "Preparando archivos adjuntos..."; "vc_share_loading_message" = "Preparando archivos adjuntos...";
"vc_share_sending_message" = "Enviando..."; "vc_share_sending_message" = "Enviando...";
@ -573,39 +581,57 @@
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Abrir invitación de grupo"; "view_open_group_invitation_description" = "Abrir invitación de grupo";
"vc_conversation_settings_invite_button_title" = "Añadir Miembros"; "vc_conversation_settings_invite_button_title" = "Añadir Miembros";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Preguntas Frecuentes";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Encuesta de opinión";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Registro de depuración";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Aviso";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Esta es tu frase de recuperación. Si se la envias a alguien, tendrá acceso completo a tu cuenta.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Enviar";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notificar Solo Menciones";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Cuando está activado, sólo se te notificará de mensajes que te mencionen.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Notificando Solo Menciones";
"message_deleted" = "This message has been deleted"; "message_deleted" = "El mensaje se ha eliminado";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Eliminar solo para mí";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Eliminar para todos";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Eliminar para mí y para %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Responder";
"context_menu_save" = "Save"; "context_menu_save" = "Guardar";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Banear Usuario";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Banear y Eliminar Todo";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Añadir adjuntos Añadir archivo adjunto";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "GIF";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Documento";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Fototeca";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Cámara";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Frase de Recuperación Incorrecta";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Descartar";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Ajustes";
"voice_call" = "Voice Call"; "call_outgoing" = "Has llamado a %@";
"video_call" = "Video Call"; "call_incoming" = "%@ called you";
"APN_Message" = "You've got a new message"; "call_missed" = "Llamada Perdida de %@";
"system_mode_theme" = "System"; "call_rejected" = "Llamada Rechazada";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Llamada Cancelada";
"light_mode_theme" = "Light"; "call_timeout" = "Llamada No Contestada";
"voice_call" = "Llamada de Voz";
"video_call" = "Videollamada";
"APN_Message" = "Tienes un mensaje nuevo";
"APN_Collapsed_Messages" = "Tienes un mensaje nuevo.";
"system_mode_theme" = "Sistema";
"dark_mode_theme" = "Oscuro";
"light_mode_theme" = "Claro";
"PIN_BUTTON_TEXT" = "Fijar";
"UNPIN_BUTTON_TEXT" = "Dejar de fijar";
"modal_call_missed_tips_title" = "Llamada perdida";
"modal_call_missed_tips_explanation" = "Llamada perdida de '%@' porque necesitas habilitar el permiso de 'Llamadas de voz y video' en la configuración de privacidad.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ tomó una captura de pantalla.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -13,7 +13,7 @@
/* placeholder text for an empty captioning field */ /* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "یک عنوان اضافه کنید..."; "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "یک عنوان اضافه کنید...";
/* Title for 'caption' mode of the attachment approval view. */ /* Title for 'caption' mode of the attachment approval view. */
"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption"; "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "عنوان";
/* Format string for file extension label in call interstitial view */ /* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "نوع فايل: %@"; "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "نوع فايل: %@";
/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */
@ -27,7 +27,7 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "خطا در ارسال فایل ضمیمه"; "ATTACHMENT_ERROR_ALERT_TITLE" = "خطا در ارسال فایل ضمیمه";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error 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 message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Unable to process video."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Unable to process video.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
@ -99,9 +99,9 @@
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "رفع مسدودی"; "BLOCK_LIST_UNBLOCK_BUTTON" = "رفع مسدودی";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ has been blocked."; "BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ مسدود شد.";
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "کاربر مسدود شده است"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "کاربر مسدود شد";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ از حالت مسدودی خارج شد."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ از حالت مسدودی خارج شد.";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
@ -307,25 +307,25 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "آلبوم بی نام"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "آلبوم بی نام";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "علامت‌گذاری به عنوان خوانده‌شده";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "پاسخ";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "لطفا برای فعال شدن حساب خود، کدی که به شما فرستاده‌ایم را تائید کنید."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "لطفا برای فعال شدن حساب خود، کدی که به شما فرستاده‌ایم را تائید کنید.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "لحظه"; "SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "لحظه";
/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ /* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session."; "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "برای باز کردن Session هویت خود را احراز کنید.";
/* Title for alert indicating that screen lock could not be unlocked. */ /* Title for alert indicating that screen lock could not be unlocked. */
"SCREEN_LOCK_UNLOCK_FAILED" = "احراز هویت ناموفق بود"; "SCREEN_LOCK_UNLOCK_FAILED" = "احراز هویت ناموفق بود";
/* alert title when user attempts to leave the send media flow when they have an in-progress album */ /* alert title when user attempts to leave the send media flow when they have an in-progress album */
"SEND_MEDIA_ABANDON_TITLE" = "Discard Media?"; "SEND_MEDIA_ABANDON_TITLE" = "رسانه ها کنار گذاشته شوند؟";
/* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */ /* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */
"SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "Discard Media"; "SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "رسانه ها کنار گذاشته شوند";
/* alert action when the user decides not to cancel the media flow after all. */ /* alert action when the user decides not to cancel the media flow after all. */
"SEND_MEDIA_RETURN_TO_CAMERA" = "بازگشت به دوربین"; "SEND_MEDIA_RETURN_TO_CAMERA" = "بازگشت به دوربین";
/* alert action when the user decides not to cancel the media flow after all. */ /* alert action when the user decides not to cancel the media flow after all. */
"SEND_MEDIA_RETURN_TO_MEDIA_LIBRARY" = "Return to Media Library"; "SEND_MEDIA_RETURN_TO_MEDIA_LIBRARY" = "برگشت به کتابخانه رسانه";
/* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */ /* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */
"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (پیشفرض)"; "SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (پیشفرض)";
/* Label for the backup view in app settings. */ /* Label for the backup view in app settings. */
@ -341,7 +341,7 @@
/* Indicates that the last backup restore failed. */ /* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "ناتوانی در بازگرداندن بکاپ"; "SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "ناتوانی در بازگرداندن بکاپ";
/* Indicates that app is not restoring up. */ /* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle"; "SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "بازیابی پشتیبان غیرفعال است";
/* Indicates that app is restoring up. */ /* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "در حال بازگرداندن بکاپ"; "SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "در حال بازگرداندن بکاپ";
/* Indicates that the last backup restore succeeded. */ /* Indicates that the last backup restore succeeded. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "ارسال پیش نمایش لینک"; "SETTINGS_LINK_PREVIEWS" = "ارسال پیش نمایش لینک";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "پیش نمایش ها برای Imgur، Instagram، Pinterest، Reddit، و لینک های Youtube پشتیبانی می شود."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "پیش‌نمایش‌ها برای اکثر آدرس‌های اینترنتی پشتیبانی می‌شوند.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "پیش نمایش های لینک"; "SETTINGS_LINK_PREVIEWS_HEADER" = "پیش نمایش های لینک";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "تماس های صوتی و تصویری";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "اجازه دسترسی برای پذیرش تماس های صوتی و تصویری از سایر کاربران را بدهید.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "تماس ها";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "محتوای نوتیفیکیشن"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "محتوای نوتیفیکیشن";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,30 +524,30 @@
"modal_seed_explanation" = "این عبارت بازیابی شماست. با استفاده از آن می‌توانید شناسه‌ی Session خود را به دستگاه جدید بازیابی یا انتقال دهید."; "modal_seed_explanation" = "این عبارت بازیابی شماست. با استفاده از آن می‌توانید شناسه‌ی Session خود را به دستگاه جدید بازیابی یا انتقال دهید.";
"modal_clear_all_data_title" = "پاک کردن همه داده‌ها"; "modal_clear_all_data_title" = "پاک کردن همه داده‌ها";
"modal_clear_all_data_explanation" = "این به طور دائم پیام‌ها، جلسات و مخاطبین شما را حذف می‌کند."; "modal_clear_all_data_explanation" = "این به طور دائم پیام‌ها، جلسات و مخاطبین شما را حذف می‌کند.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "آیا فقط می‌خواهید این دستگاه را پاک کنید یا می‌خواهید این اکانت را پاک کنید؟";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "داده ها توسط ۱ گره سرویس حذف نشده است. شناسه گره سرویس: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "داده ها توسط گره سرویس %@ حذف نشدند. شناسه گره سرویس: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "فقط دستگاه";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "تمام حساب";
"vc_qr_code_title" = "کد QR"; "vc_qr_code_title" = "کد QR";
"vc_qr_code_view_my_qr_code_tab_title" = "مشاهده کد QR من"; "vc_qr_code_view_my_qr_code_tab_title" = "مشاهده کد QR من";
"vc_qr_code_view_scan_qr_code_tab_title" = "اسکن کد QR"; "vc_qr_code_view_scan_qr_code_tab_title" = "اسکن کد QR";
"vc_qr_code_view_scan_qr_code_explanation" = "برای شروع مکالمه با دیگران، کد QR شخصی را اسکن کنید"; "vc_qr_code_view_scan_qr_code_explanation" = "برای شروع مکالمه با دیگران، کد QR شخصی را اسکن کنید";
"vc_view_my_qr_code_explanation" = "این کد QR شماست. سایر کاربران می‌توانند برای شروع Session با شما آن را اسکن کنند."; "vc_view_my_qr_code_explanation" = "این کد QR شماست. سایر کاربران می‌توانند برای شروع Session با شما آن را اسکن کنند.";
// MARK: - Not Yet Translated // MARK: - Not Yet Translated
"fast_mode_explanation" = "Youll be notified of new messages reliably and immediately using Apples notification servers."; "fast_mode_explanation" = "با استفاده از سرورهای اطلاع رسانی اپل، شما به صورت سریع و مطمئن از پیام‌های جدید مطلع می‌شوید.";
"fast_mode" = "Fast Mode"; "fast_mode" = "حالت سریع";
"slow_mode_explanation" = "Session will occasionally check for new messages in the background."; "slow_mode_explanation" = "Session هرازگاهی در پس زمینه وجود پیام‌های جدید را بررسی می‌کند.";
"slow_mode" = "Slow Mode"; "slow_mode" = "حالت آهسته";
"vc_pn_mode_title" = "Message Notifications"; "vc_pn_mode_title" = "اعلان‌های پیام";
"vc_notification_settings_notification_mode_title" = "استفاده از حالت سریع"; "vc_notification_settings_notification_mode_title" = "استفاده از حالت سریع";
"vc_link_device_recovery_phrase_tab_title" = "عبارت بازیابی"; "vc_link_device_recovery_phrase_tab_title" = "عبارت بازیابی";
"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; "vc_link_device_scan_qr_code_explanation" = "برای دیدن کد QR خود، در دستگاه دیگرتان به «تنظیمات ← عبارت بازیابی» مراجعه کنید.";
"vc_enter_recovery_phrase_title" = "عبارت بازیابی"; "vc_enter_recovery_phrase_title" = "عبارت بازیابی";
"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; "vc_enter_recovery_phrase_explanation" = "برای وصل کردن دستگاهتان، عبارت بازیابی که در زمان ثبت نام به شما داده شده بود را وارد کنید.";
"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; "vc_enter_public_key_text_field_hint" = "شناسه Session یا اسم سرویس نام Oxen را وارد کنید";
"vc_home_title" = "پیام ها"; "vc_home_title" = "پیام ها";
"admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone."; "admin_group_leave_warning" = "به دلیل اینکه شما مدیر گروه هستید، این گروه برای همه اعضا ی گروه پاک میشود. این قابل بازگشت نیست.";
"vc_join_open_group_suggestions_title" = "یا به یکی از اینها بپیوندید..."; "vc_join_open_group_suggestions_title" = "یا به یکی از اینها بپیوندید...";
"vc_settings_invite_a_friend_button_title" = "دعوت از یک دوست"; "vc_settings_invite_a_friend_button_title" = "دعوت از یک دوست";
"vc_settings_help_us_translate_button_title" = "به ما کمک کنید که سشن را ترجمه کنیم"; "vc_settings_help_us_translate_button_title" = "به ما کمک کنید که سشن را ترجمه کنیم";
@ -549,19 +555,21 @@
"vc_conversation_settings_copy_session_id_button_title" = "کپی کردن شناسه‌ی Session شما"; "vc_conversation_settings_copy_session_id_button_title" = "کپی کردن شناسه‌ی Session شما";
"vc_conversation_input_prompt" = "پیام"; "vc_conversation_input_prompt" = "پیام";
"vc_conversation_voice_message_cancel_message" = "برای کنسل کردن به کناره بکشید"; "vc_conversation_voice_message_cancel_message" = "برای کنسل کردن به کناره بکشید";
"modal_download_attachment_title" = "Trust %@?"; "modal_download_attachment_title" = "آیا به %@ اعتماد میکنید؟";
"modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?"; "modal_download_attachment_explanation" = "آیا مطمئن هستید که می‌خواهید رسانه ارسال شده توسط %@ را دانلود کنید؟";
"modal_download_button_title" = "دریافت"; "modal_download_button_title" = "دریافت";
"modal_open_url_title" = "URL باز شود؟"; "modal_open_url_title" = "URL باز شود؟";
"modal_open_url_explanation" = "آیا مطمئن هستید که میخواهید %@ را باز کنید؟"; "modal_open_url_explanation" = "آیا مطمئن هستید که میخواهید %@ را باز کنید؟";
"modal_open_url_button_title" = "باز کن"; "modal_open_url_button_title" = "باز کن";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "کپی کردن لینک";
"modal_blocked_title" = "Unblock %@?"; "modal_blocked_title" = "%@ از حالت مسدود خارج شود؟";
"modal_blocked_explanation" = "Are you sure you want to unblock %@?"; "modal_blocked_explanation" = "آیا مطمئن هستید که میخواهید %@ را از حالت مسدود خارج کنید؟";
"modal_blocked_button_title" = "رفع مسدودی"; "modal_blocked_button_title" = "رفع مسدودی";
"modal_link_previews_title" = "فعال‌سازی پیش‌نمایش لینک؟"; "modal_link_previews_title" = "فعال‌سازی پیش‌نمایش لینک؟";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "با فعال کردن این گزینه، پیش‌نمایش لینک‌ها در پیام‌های ارسالی و دریافتی دیده می‌شود. این گزینه می‌تواند مفید باشد اما Session باید با سایت ارتباط برقرار کند تا پیش‌نمایش را نشان دهد. شما می‌توانید همیشه در تنظیمات این پیش‌نمایش را غیرفعال کنید.";
"modal_link_previews_button_title" = "فعال سازی"; "modal_link_previews_button_title" = "فعال سازی";
"modal_call_title" = "تماس های صوتی / تصویری";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "اشتراک گذاری با Session"; "vc_share_title" = "اشتراک گذاری با Session";
@ -572,23 +580,23 @@
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Link Previews Disabled";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Open group invitation"; "view_open_group_invitation_description" = "Open group invitation";
"vc_conversation_settings_invite_button_title" = "Add Members"; "vc_conversation_settings_invite_button_title" = "اضافه‌کردن اعضا";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "سوالات متداول";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Survey";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Debug Log";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "هشدار";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "این عبارت بازیابی شماست. اگر آن را برای شخصی ارسال کنید ، دسترسی کامل به حساب شما خواهد داشت.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "ارسال";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only";
"message_deleted" = "This message has been deleted"; "message_deleted" = "این پیام حذف شده است";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "حذف برای من";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "حذف برای همه";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "حذف برای من و %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "پاسخ";
"context_menu_save" = "Save"; "context_menu_save" = "ذخیره";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "مسدود کردن کاربر";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Ban and Delete All";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Add attachments";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
@ -597,15 +605,33 @@
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Settings";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -1,25 +1,25 @@
/* Label for the 'dismiss' button in the 'new app version available' alert. */ /* Label for the 'dismiss' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Ei nyt"; "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Myöhemmin";
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Versio %@ on nyt ladattavissa App Storesta."; "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Uusin versio on nyt saatavilla App Storesta.";
/* Title for the 'new app version available' alert. */ /* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "Uusi versio Sessionista on nyt saatavilla"; "APP_UPDATE_NAG_ALERT_TITLE" = "Uusi versio Sessionista on saatavilla";
/* Label for the 'update' button in the 'new app version available' alert. */ /* Label for the 'update' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Päivitys"; "APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Päivitä";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"ATTACHMENT" = "Liite"; "ATTACHMENT" = "Lisää liite";
/* One-line label indicating the user can add no more text to the attachment caption. */ /* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Otsikon maksimimerkkimäärä saavutettu."; "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Kuvatekstin enimmäispituus on saavutettu.";
/* placeholder text for an empty captioning field */ /* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Lisää otsikko…"; "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Lisää kuvateksti…";
/* Title for 'caption' mode of the attachment approval view. */ /* Title for 'caption' mode of the attachment approval view. */
"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Otsikko"; "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Otsikko";
/* Format string for file extension label in call interstitial view */ /* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Tiedostotyyppi: %@"; "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Tiedoston formaatti: %@";
/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */
"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Koko: %@"; "ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Rajoitettu koko: %@";
/* One-line label indicating the user can add no more text to the media message field. */ /* One-line label indicating the user can add no more text to the media message field. */
"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Viestin maksimimerkkimäärä saavutettu"; "ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Viestin suurin sallittu pituus saavutettu";
/* Label for 'send' button in the 'attachment approval' dialog. */ /* Label for 'send' button in the 'attachment approval' dialog. */
"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Lähetä"; "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Lähetä";
/* Generic filename for an attachment with no known name */ /* Generic filename for an attachment with no known name */
@ -33,37 +33,37 @@
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Kuvaa ei voitu jäsentää."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Kuvaa ei voitu jäsentää.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metatietojen poistaminen kuvasta ei onnistunut."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metadatan poistaminen kuvasta epäonnistui.";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Kuvan kokoa ei voitu muuttaa."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Kuvan kokoa ei voitu muuttaa.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Liitetiedosto on liian suuri."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Liite on liian iso.";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Liitetiedoston sisältö on virheellinen."; "ATTACHMENT_ERROR_INVALID_DATA" = "Liite sisältää virheellistä sisältöä.";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Liitetiedoston muoto on virheellinen."; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Liitteellä on virheellinen tiedostotyyppi.";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Liitetiedosto on tyhjä."; "ATTACHMENT_ERROR_MISSING_DATA" = "Liite on tyhjä.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Dokumentin valinta epäonnistui."; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Dokumentin valinta epäonnistui.";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Ole hyvä ja kokeile kompressoidun arkiston luomista tästä tiedostosta ja lähettää se tiedoston sijaan."; "ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Ole hyvä ja luo tiivistetty arkisto tästä tiedostosta ja kokeile lähettämistä uudelleen.";
/* Alert title when picking a document fails because user picked a directory/bundle */ /* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Tiedostotyyppiä ei tueta"; "ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Tiedostotyyppiä ei tueta";
/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ /* Short text label for a voice message attachment, used for thread preview and on the lock screen */
"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Ääniviesti"; "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Ääniviesti";
/* Error indicating the backup export could not export the user's data. */ /* Error indicating the backup export could not export the user's data. */
"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Varmuuskopiodataa ei pystytty viemään."; "BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Varmuuskopiodataa ei pystytty siirtämään.";
/* Error indicating that the app received an invalid response from CloudKit. */ /* Error indicating that the app received an invalid response from CloudKit. */
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Virheellinen vastaus palvelulta"; "BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Virheellinen palvelun vastaus";
/* Indicates that the cloud is being cleaned up. */ /* Indicates that the cloud is being cleaned up. */
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Puhdistetaan varmuuskopiota"; "BACKUP_EXPORT_PHASE_CLEAN_UP" = "Puhdistetaan varmuuskopioita";
/* Indicates that the backup export is being configured. */ /* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Alustetaan varmuuskopiota"; "BACKUP_EXPORT_PHASE_CONFIGURATION" = "Alustetaan varmuuskopiota";
/* Indicates that the database data is being exported. */ /* Indicates that the database data is being exported. */
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Viedään dataa"; "BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Siirretään dataa";
/* Indicates that the backup export data is being exported. */ /* Indicates that the backup export data is being exported. */
"BACKUP_EXPORT_PHASE_EXPORT" = "Varmuuskopiota viedään"; "BACKUP_EXPORT_PHASE_EXPORT" = "Siirretään varmuuskopiota";
/* Indicates that the backup export data is being uploaded. */ /* Indicates that the backup export data is being uploaded. */
"BACKUP_EXPORT_PHASE_UPLOAD" = "Ladataan varmuuskopiota"; "BACKUP_EXPORT_PHASE_UPLOAD" = "Ladataan varmuuskopiota";
/* Error indicating the backup import could not import the user's data. */ /* Error indicating the backup import could not import the user's data. */
@ -73,7 +73,7 @@
/* Indicates that the backup import data is being downloaded. */ /* Indicates that the backup import data is being downloaded. */
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Ladataan varmuuskopiota"; "BACKUP_IMPORT_PHASE_DOWNLOAD" = "Ladataan varmuuskopiota";
/* Indicates that the backup import data is being finalized. */ /* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Viimeistellään Varmuuskopiota"; "BACKUP_IMPORT_PHASE_FINALIZING" = "Viimeistellään varmuuskopiota";
/* Indicates that the backup import data is being imported. */ /* Indicates that the backup import data is being imported. */
"BACKUP_IMPORT_PHASE_IMPORT" = "Tuodaan varmuuskopiota."; "BACKUP_IMPORT_PHASE_IMPORT" = "Tuodaan varmuuskopiota.";
/* Indicates that the backup database is being restored. */ /* Indicates that the backup database is being restored. */
@ -94,8 +94,8 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Estä"; "BLOCK_LIST_BLOCK_BUTTON" = "Estä";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Estä %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Estä %@?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Poista esto yhteystiedolta %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Poista henkilön %@ esto?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Poista esto"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Poista esto";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
@ -103,7 +103,7 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Käyttäjä estetty"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Käyttäjä estetty";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ esto on poistettu."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "Henkilön %@ esto on poistettu.";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Ryhmän jäsenet voivat nyt lisätä sinut takaisin ryhmään."; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Ryhmän jäsenet voivat nyt lisätä sinut takaisin ryhmään.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
@ -123,7 +123,7 @@
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Sessionilta estettiin pääsy sinun iCloud-varmuuskopioihin. Myönnä Sessionille lupa iCloud-tilillesi järjestelmäasetuksissa varmuuskopioidaksesi Session-datan."; "CLOUDKIT_STATUS_RESTRICTED" = "Sessionilta estettiin pääsy sinun iCloud-varmuuskopioihin. Myönnä Sessionille lupa iCloud-tilillesi järjestelmäasetuksissa varmuuskopioidaksesi Session-datan.";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Et voi enää lähettää tai vastaanottaa viestejä tässä ryhmässä."; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Et pysty enään lähettämään tai vastaanottamaan viestejä tässä ryhmässä.";
/* Alert title */ /* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "Haluatko varmasti poistua ryhmästä?"; "CONFIRM_LEAVE_GROUP_TITLE" = "Haluatko varmasti poistua ryhmästä?";
/* Message for the 'conversation delete confirmation' alert. */ /* Message for the 'conversation delete confirmation' alert. */
@ -131,43 +131,43 @@
/* Title for the 'conversation delete confirmation' alert. */ /* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Poistetaanko keskustelu?"; "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Poistetaanko keskustelu?";
/* keyboard toolbar label when no messages match the search string */ /* keyboard toolbar label when no messages match the search string */
"CONVERSATION_SEARCH_NO_RESULTS" = "Ei osumia"; "CONVERSATION_SEARCH_NO_RESULTS" = "Ei tuloksia";
/* keyboard toolbar label when exactly 1 message matches the search string */ /* keyboard toolbar label when exactly 1 message matches the search string */
"CONVERSATION_SEARCH_ONE_RESULT" = "1 osuma"; "CONVERSATION_SEARCH_ONE_RESULT" = "1 osuma";
/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */
"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d./%d. hakutuloksesta"; "CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d/%d osumasta";
/* title for conversation settings screen */ /* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "Keskusteluasetukset"; "CONVERSATION_SETTINGS" = "Keskustelun asetukset";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Estä tämä käyttäjä"; "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Estä tämä käyttäjä";
/* Title of the 'mute this thread' action sheet. */ /* Title of the 'mute this thread' action sheet. */
"CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Mykistä"; "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Hiljennä";
/* label for 'mute thread' cell in conversation settings */ /* label for 'mute thread' cell in conversation settings */
"CONVERSATION_SETTINGS_MUTE_LABEL" = "Mykistä"; "CONVERSATION_SETTINGS_MUTE_LABEL" = "Hiljennä";
/* Indicates that the current thread is not muted. */ /* Indicates that the current thread is not muted. */
"CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "Hiljentämätön"; "CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "Ei hiljennetty";
/* Label for button to mute a thread for a day. */ /* Label for button to mute a thread for a day. */
"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Hiljennä päiväksi"; "CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Hiljennä yhdeksi päiväksi";
/* Label for button to mute a thread for a hour. */ /* Label for button to mute a thread for a hour. */
"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Hiljennä tunniksi"; "CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Hiljennä tunnin ajan";
/* Label for button to mute a thread for a minute. */ /* Label for button to mute a thread for a minute. */
"CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Hiljennä minuutiksi"; "CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Mykistä minuutiksi";
/* Label for button to mute a thread for a week. */ /* Label for button to mute a thread for a week. */
"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Hiljennä viikoksi"; "CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Hiljennä yhden viikon ajaksi";
/* Label for button to mute a thread for a year. */ /* Label for button to mute a thread for a year. */
"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Hiljennä vuodeksi"; "CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Mykistä vuodeksi";
/* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */ /* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */
"CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "%@ asti"; "CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "%@ asti";
/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */
"CONVERSATION_SETTINGS_SEARCH" = "Hae keskusteluista"; "CONVERSATION_SETTINGS_SEARCH" = "Etsi keskustelusta";
/* Label for button to unmute a thread. */ /* Label for button to unmute a thread. */
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Poista hiljennys"; "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Poista mykistys";
/* Title for the 'crop/scale image' dialog. */ /* Title for the 'crop/scale image' dialog. */
"CROP_SCALE_IMAGE_VIEW_TITLE" = "Siirrä ja muuta kokoa"; "CROP_SCALE_IMAGE_VIEW_TITLE" = "Siirrä ja Skaalaa";
/* Subtitle shown while the app is updating its database. */ /* Subtitle shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_SUBTITLE" = "Tämä saattaa viedä hetken."; "DATABASE_VIEW_OVERLAY_SUBTITLE" = "Tämä saattaa viedä hetken.";
/* Title shown while the app is updating its database. */ /* Title shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_TITLE" = "Optimoidaan tietokantaa"; "DATABASE_VIEW_OVERLAY_TITLE" = "Optimoidaan tietokanta";
/* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */ /* 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" = "%@ tuntia sitten"; "DATE_HOURS_AGO_FORMAT" = "%@ tuntia sitten";
/* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */ /* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */
@ -183,27 +183,27 @@
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */ /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Viestit tässä keskustelussa katoavat %@ jälkeen."; "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Viestit tässä keskustelussa katoavat %@ jälkeen.";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"EDIT_GROUP_ACTION" = "Muokkaa ryhmää"; "EDIT_GROUP_ACTION" = "Muokkaa Ryhmää";
/* Label indicating media gallery is empty */ /* Label indicating media gallery is empty */
"GALLERY_TILES_EMPTY_GALLERY" = "Sinulla ei ole ollenkaan mediaa tässä keskustelussa."; "GALLERY_TILES_EMPTY_GALLERY" = "Sinulla ei ole yhtään mediaa tässä keskustelussa.";
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Ladataan uutta mediaa…"; "GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Ladataan uudempaa mediaa…";
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "Ladataan vanhempaa mediaa…"; "GALLERY_TILES_LOADING_OLDER_LABEL" = "Ladataan vanhempaa mediaa…";
/* Error displayed when there is a failure fetching a GIF from the remote service. */ /* Error displayed when there is a failure fetching a GIF from the remote service. */
"GIF_PICKER_ERROR_FETCH_FAILURE" = "Pyydetyn GIF-animaation hakeminen epäonnistui. Ole hyvä ja varmista yhteys internettiin."; "GIF_PICKER_ERROR_FETCH_FAILURE" = "Pyydetyn GIF-animaation hakeminen epäonnistui. Ole hyvä ja varmista yhteytesi.";
/* Generic error displayed when picking a GIF */ /* Generic error displayed when picking a GIF */
"GIF_PICKER_ERROR_GENERIC" = "Ilmeni tuntematon virhe."; "GIF_PICKER_ERROR_GENERIC" = "Tuntematon virhe ilmeni.";
/* Shown when selected GIF couldn't be fetched */ /* Shown when selected GIF couldn't be fetched */
"GIF_PICKER_FAILURE_ALERT_TITLE" = "GIF-animaation valinta epäonnistui"; "GIF_PICKER_FAILURE_ALERT_TITLE" = "GIF-animaatiota ei pystytä valitsemaan";
/* Alert message shown when user tries to search for GIFs without entering any search terms. */ /* Alert message shown when user tries to search for GIFs without entering any search terms. */
"GIF_PICKER_VIEW_MISSING_QUERY" = "Kirjoita hakutermi."; "GIF_PICKER_VIEW_MISSING_QUERY" = "Kirjoita hakutermi.";
/* Indicates that an error occurred while searching. */ /* Indicates that an error occurred while searching. */
"GIF_VIEW_SEARCH_ERROR" = "Virhe. Napauta kokeillaksesi uudelleen."; "GIF_VIEW_SEARCH_ERROR" = "Virhe. Paina kokeillaksesi uudelleen.";
/* Indicates that the user's search had no results. */ /* Indicates that the user's search had no results. */
"GIF_VIEW_SEARCH_NO_RESULTS" = "Ei hakutuloksia."; "GIF_VIEW_SEARCH_NO_RESULTS" = "Ei tuloksia.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_CREATED" = "Ryhmä luotu"; "GROUP_CREATED" = "Ryhmä on luotu";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_JOINED" = " %@ liittyi ryhmään. "; "GROUP_MEMBER_JOINED" = " %@ liittyi ryhmään. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -213,7 +213,7 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBERS_REMOVED" = " %@ poistettiin ryhmästä. "; "GROUP_MEMBERS_REMOVED" = " %@ poistettiin ryhmästä. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_TITLE_CHANGED" = "Ryhmän nimi on nyt ”%@”. "; "GROUP_TITLE_CHANGED" = "Ryhmän kuvaus on nyt ”%@”. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_UPDATED" = "Ryhmä päivitetty."; "GROUP_UPDATED" = "Ryhmä päivitetty.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -221,7 +221,7 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"YOU_WERE_REMOVED" = " Sinut poistettiin ryhmästä. "; "YOU_WERE_REMOVED" = " Sinut poistettiin ryhmästä. ";
/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ /* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */
"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "Voit jakaa korkeintaan %@ kohdetta."; "IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "Et voi jakaa enempää kuin %@ kohdetta.";
/* alert title */ /* alert title */
"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Liitteen valinta epäonnistui."; "IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Liitteen valinta epäonnistui.";
/* Message for the alert indicating that an audio file is invalid. */ /* Message for the alert indicating that an audio file is invalid. */
@ -255,7 +255,7 @@
/* status message for failed messages */ /* status message for failed messages */
"MESSAGE_STATUS_FAILED" = "Lähetys epäonnistui."; "MESSAGE_STATUS_FAILED" = "Lähetys epäonnistui.";
/* status message for failed messages */ /* status message for failed messages */
"MESSAGE_STATUS_FAILED_SHORT" = "Virhe"; "MESSAGE_STATUS_FAILED_SHORT" = "Epäonnistui";
/* status message for read messages */ /* status message for read messages */
"MESSAGE_STATUS_READ" = "Luettu"; "MESSAGE_STATUS_READ" = "Luettu";
/* message status if message delivery to a recipient is skipped. We skip delivering group messages to users who have left the group or unregistered their Session account. */ /* message status if message delivery to a recipient is skipped. We skip delivering group messages to users who have left the group or unregistered their Session account. */
@ -267,11 +267,11 @@
/* status message while attachment is uploading */ /* status message while attachment is uploading */
"MESSAGE_STATUS_UPLOADING" = "Ladataan…"; "MESSAGE_STATUS_UPLOADING" = "Ladataan…";
/* Alert body when user has previously denied media library access */ /* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Voit sallia tämän järjestelmäasetuksissa."; "MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "Voit sallia tämän iOS-järjestelmän asetuksista.";
/* Alert title when user has previously denied media library access */ /* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Tämä Sessionin toiminto tarvitsee käyttöluvan kuviisi."; "MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Session tarvitsee oikeuden käyttääkseen kuviasi.";
/* An explanation of the consequences of muting a thread. */ /* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "Et saa ilmoituksia hiljennetyistä keskusteluista."; "MUTE_BEHAVIOR_EXPLANATION" = "Et saa ilmoituksia mykistetyistä keskusteluista.";
/* notification title. Embeds {{author name}} and {{group name}} */ /* notification title. Embeds {{author name}} and {{group name}} */
"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ ryhmässä %@"; "NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ ryhmässä %@";
/* Label for 1:1 conversation with yourself. */ /* Label for 1:1 conversation with yourself. */
@ -279,9 +279,9 @@
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ /* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Olet saattanut saada viesteja laitteesi %@ käynnistyessä uudelleen."; "NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Olet saattanut saada viesteja laitteesi %@ käynnistyessä uudelleen.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_FOOTER_WARNING" = "Due to known bugs in Apple's push framework, message previews will only be shown if the message is retrieved within 30 seconds after being sent. The application badge might be inaccurate as a result."; "NOTIFICATIONS_FOOTER_WARNING" = "Tunnettujen Applen ilmoituskehyksessä olevien vikojen vuoksi, viestien esikatselut näytetään vain, jos viesti pystytään saamaan 30 sekuntin kuluessa sen lähettämisestä. Aplikaation ilmoitusmerkki saattaa tästä syystä olla epätarkka.";
/* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */ /* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */
"NOTIFICATIONS_SECTION_INAPP" = "Soita ilmoitusääni apin olessa avoinna"; "NOTIFICATIONS_SECTION_INAPP" = "Älä hiljennä apin ollessa näytöllä";
/* Label for settings UI that allows user to change the notification sound. */ /* Label for settings UI that allows user to change the notification sound. */
"NOTIFICATIONS_SECTION_SOUNDS" = "Äänet"; "NOTIFICATIONS_SECTION_SOUNDS" = "Äänet";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -293,7 +293,7 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SHOW" = "Näytä"; "NOTIFICATIONS_SHOW" = "Näytä";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"BUTTON_OK" = "Ok"; "BUTTON_OK" = "OK";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ poisti katoavat viestit käytöstä."; "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ poisti katoavat viestit käytöstä.";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
@ -307,17 +307,17 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Nimetön albumi"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Nimetön albumi";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Merkkaa luetuksi";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Vastaa";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Emme pysty aktivoimaan käyttäjätiliä ennen kuin vahvistat lähettämämme koodin."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Emme pysty aktivoimaan käyttäjätiliä ennen kuin vahvistat lähettämämme koodin.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Heti"; "SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Heti";
/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ /* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session."; "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Tunnistaudu avataksesi Sessionin.";
/* Title for alert indicating that screen lock could not be unlocked. */ /* Title for alert indicating that screen lock could not be unlocked. */
"SCREEN_LOCK_UNLOCK_FAILED" = "Authentication Failed"; "SCREEN_LOCK_UNLOCK_FAILED" = "Tunnistautuminen epäonnistui";
/* alert title when user attempts to leave the send media flow when they have an in-progress album */ /* alert title when user attempts to leave the send media flow when they have an in-progress album */
"SEND_MEDIA_ABANDON_TITLE" = "Hylkää media?"; "SEND_MEDIA_ABANDON_TITLE" = "Hylkää media?";
/* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */ /* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */
@ -335,17 +335,17 @@
/* Label for 'cancel backup' button in the backup settings view. */ /* Label for 'cancel backup' button in the backup settings view. */
"SETTINGS_BACKUP_CANCEL_BACKUP" = "Peruuta varmuuskopio"; "SETTINGS_BACKUP_CANCEL_BACKUP" = "Peruuta varmuuskopio";
/* Label for switch in settings that controls whether or not backup is enabled. */ /* Label for switch in settings that controls whether or not backup is enabled. */
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Backup Enabled"; "SETTINGS_BACKUP_ENABLING_SWITCH" = "Varmuuskopiointi käytössä";
/* Label for iCloud status row in the in the backup settings view. */ /* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud Status"; "SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud status";
/* Indicates that the last backup restore failed. */ /* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Backup Restore Failed"; "SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Varmuuskopion tuominen epäonnistui";
/* Indicates that app is not restoring up. */ /* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle"; "SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Varmuuskopion tuominen on tyhjäkäynnillä";
/* Indicates that app is restoring up. */ /* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress"; "SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Varmuuskopiosta tuominen käynnissä";
/* Indicates that the last backup restore succeeded. */ /* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded"; "SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Varmuuskopiosta tuominen onnistui";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PHASE" = "Vaihe"; "SETTINGS_BACKUP_PHASE" = "Vaihe";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
@ -359,39 +359,45 @@
/* Indicates that app is backing up. */ /* Indicates that app is backing up. */
"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Varmuuskopioidaan"; "SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Varmuuskopioidaan";
/* Indicates that the last backup succeeded. */ /* Indicates that the last backup succeeded. */
"SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Backup Successful"; "SETTINGS_BACKUP_STATUS_SUCCEEDED" = "Varmuuskopiointi onnistui";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"SETTINGS_CLEAR_HISTORY" = "Clear Conversation History"; "SETTINGS_CLEAR_HISTORY" = "Tyhjennä keskusteluhistoria";
/* Confirmation text for button which deletes all message, calling, attachments, etc. */ /* Confirmation text for button which deletes all message, calling, attachments, etc. */
"SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Delete Everything"; "SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Poista kaikki";
/* Section header */ /* Section header */
"SETTINGS_HISTORYLOG_TITLE" = "Clear Conversation History"; "SETTINGS_HISTORYLOG_TITLE" = "Tyhjennä keskusteluhistoria";
/* Label for settings view that allows user to change the notification sound. */ /* Label for settings view that allows user to change the notification sound. */
"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Message Sound"; "SETTINGS_ITEM_NOTIFICATION_SOUND" = "Viestien ilmoitusääni";
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Send Link Previews"; "SETTINGS_LINK_PREVIEWS" = "Lähetä linkeistä esikatselu";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Useimpien URL-osoitteiden esikatselut ovat tuettuja.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Linkkien esikatselu";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Ääni- ja videopuhelut";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Salli pääsy hyväksyäksesi muilta käyttäjiltä saapuvat ääni- ja videopuhelut.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Puhelut";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Ilmoituksen sisältö";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
"SETTINGS_READ_RECEIPT" = "Read Receipts"; "SETTINGS_READ_RECEIPT" = "Lukukuittaukset";
/* An explanation of the 'read receipts' setting. */ /* An explanation of the 'read receipts' setting. */
"SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "See and share when messages have been read. This setting is optional and applies to all conversations."; "SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "Nää ja jaa lukukuittaukset. Tämä asetus on vapaaehtoinen ja koskee kaikkia keskusteluja.";
/* Label for the 'screen lock activity timeout' setting of the privacy settings. */ /* Label for the 'screen lock activity timeout' setting of the privacy settings. */
"SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Screen Lock Timeout"; "SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Näytön lukitus";
/* Title for the 'screen lock' section of the privacy settings. */ /* Title for the 'screen lock' section of the privacy settings. */
"SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "Screen Lock"; "SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "Näytön lukitus";
/* Label for the 'enable screen lock' switch of the privacy settings. */ /* Label for the 'enable screen lock' switch of the privacy settings. */
"SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "Screen Lock"; "SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "Näytön lukitus";
/* Header Label for the sounds section of settings views. */ /* Header Label for the sounds section of settings views. */
"SETTINGS_SECTION_SOUNDS" = "Äänet"; "SETTINGS_SECTION_SOUNDS" = "Äänet";
/* Section header */ /* Section header */
"SETTINGS_SECURITY_TITLE" = "Screen Security"; "SETTINGS_SECURITY_TITLE" = "Näytön suojaus";
/* Label for the 'typing indicators' setting. */ /* Label for the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS" = "Typing Indicators"; "SETTINGS_TYPING_INDICATORS" = "Ilmaise aktiivinen kirjoitus";
/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ /* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */
"SOUNDS_NONE" = "Ei ääntä"; "SOUNDS_NONE" = "Ei ääntä";
/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ /* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */
@ -447,103 +453,103 @@
"your_session_id" = "Sinun Session ID"; "your_session_id" = "Sinun Session ID";
"vc_landing_title_2" = "Sinun sessio alkaa tästä..."; "vc_landing_title_2" = "Sinun sessio alkaa tästä...";
"vc_landing_register_button_title" = "Luo Session ID"; "vc_landing_register_button_title" = "Luo Session ID";
"vc_landing_restore_button_title" = "Jatka istuntoasi"; "vc_landing_restore_button_title" = "Jatka Sessionin käyttöä";
"vc_landing_link_button_title" = "Linkkaa laite"; "vc_landing_link_button_title" = "Yhdistä laite";
"view_fake_chat_bubble_1" = "Mikä on Session?"; "view_fake_chat_bubble_1" = "Mikä on Session?";
"view_fake_chat_bubble_2" = "Se on hajautettu sekä salattu viestipalvelu"; "view_fake_chat_bubble_2" = "Se on hajautettu sekä salattu viestipalvelu";
"view_fake_chat_bubble_3" = "Joten se ei kerää henkilökohtaisia tietoja tai keskustelujeni metadataa? Miten se sitten toimii?"; "view_fake_chat_bubble_3" = "Joten se ei kerää henkilökohtaisia tietojani tai keskustelujeni metadataa? Miten se sitten toimii?";
"view_fake_chat_bubble_4" = "Yhdistämällä edistynyttä reititys- ja salausteknologiaa päästä päätyyn."; "view_fake_chat_bubble_4" = "Yhdistämällä edistynyttä reititys- ja salausteknologiaa päästä päätyyn.";
"view_fake_chat_bubble_5" = "Kaverit eivät jätä kavereita käyttämään vaarantuneita viestipalveluita. Ole hyvä."; "view_fake_chat_bubble_5" = "Kaverit eivät anna kavereiden käyttää vaarantuneita viestipalveluita. Oleppa hyvä.";
"vc_register_title" = "Sano terve sinun Session ID:lle"; "vc_register_title" = "Sano terve sinun Session ID:lle";
"vc_register_explanation" = "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design."; "vc_register_explanation" = "Session ID on sinun ainutlaatuinen osoite, jolla ihmiset voivat ottaa sinuun yhteyttä; ilman yhteyttä oikeaan identiteettiisi. Session ID on luonteeltaan täysin anonyymi ja yksityinen.";
"vc_restore_title" = "Palauta käyttäjätilisi"; "vc_restore_title" = "Palauta käyttäjätilisi";
"vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account."; "vc_restore_explanation" = "Palauttaaksesi tilisi, syötä palautusvirke, joka annettiin sinulle kun loit tämän tilin.";
"vc_restore_seed_text_field_hint" = "Anna palautusvirkkeesi"; "vc_restore_seed_text_field_hint" = "Syötä palautusvirkkeesi";
"vc_link_device_title" = "Yhdistä laite"; "vc_link_device_title" = "Yhdistä laite";
"vc_link_device_scan_qr_code_tab_title" = "Skannaa QR-koodi"; "vc_link_device_scan_qr_code_tab_title" = "Skannaa QR-koodi";
"vc_display_name_title_2" = "Valitse julkinen nimi"; "vc_display_name_title_2" = "Valitse julkinen nimi";
"vc_display_name_explanation" = "Tämä on nimesi kun käytät Sessionia. Se voi olla oikea nimesi, alias tai mikä tahansa mistä tykkäät."; "vc_display_name_explanation" = "Tämä on nimesi kun käytät Sessionia. Se voi olla oikea nimesi, alias tai halutessasi jotain ihan muuta.";
"vc_display_name_text_field_hint" = "Anna julkinen nimi"; "vc_display_name_text_field_hint" = "Syötä julkinen nimi";
"vc_display_name_display_name_missing_error" = "Ole hyvä ja valitse julkinen nimi"; "vc_display_name_display_name_missing_error" = "Ole hyvä ja valitse julkinen nimi";
"vc_display_name_display_name_too_long_error" = "Ole hyvä ja valitse lyhyempi julkinen nimi"; "vc_display_name_display_name_too_long_error" = "Ole hyvä ja valitse lyhyempi julkinen nimi";
"vc_pn_mode_recommended_option_tag" = "Suositellut"; "vc_pn_mode_recommended_option_tag" = "Suositeltu";
"vc_pn_mode_no_option_picked_modal_title" = "Ole hyvä ja valitse vaihtoehto"; "vc_pn_mode_no_option_picked_modal_title" = "Ole hyvä ja valitse vaihtoehto";
"vc_home_empty_state_message" = "Sinulla ei ole yhtään kontaktia vielä"; "vc_home_empty_state_message" = "Sinulla ei ole vielä yhtään keskustelua";
"vc_home_empty_state_button_title" = "Aloita keskustelu"; "vc_home_empty_state_button_title" = "Aloita keskustelu";
"vc_seed_title" = "Palautusvirkkeesi"; "vc_seed_title" = "Palautusvirkkeesi";
"vc_seed_title_2" = "Tapaa palautusvirkkeesi"; "vc_seed_title_2" = "Tapaa palautusvirkkeesi";
"vc_seed_explanation" = "Your recovery phrase is the master key to your Session ID — you can use it to restore your Session ID if you lose access to your device. Store your recovery phrase in a safe place, and dont give it to anyone."; "vc_seed_explanation" = "Palautusvirkkeesi on sinun Session ID:n pääavain — voit palauttaa sillä Session ID:n, jos menetät pääsyn laitteeseesi. Sijoita palautusvirkkeesi turvalliseen paikkaan äläkä anna sitä kellekkään.";
"vc_seed_reveal_button_title" = "Hold to reveal"; "vc_seed_reveal_button_title" = "Pidä pohjassa paljastaaksesi";
"view_seed_reminder_subtitle_1" = "Secure your account by saving your recovery phrase"; "view_seed_reminder_subtitle_1" = "Turvaa tilisi ottamalla palautusvirkkeesi ylös";
"view_seed_reminder_subtitle_2" = "Tap and hold the redacted words to reveal your recovery phrase, then store it safely to secure your Session ID."; "view_seed_reminder_subtitle_2" = "Paina ja pidä painettuna piilotettuja sanoja paljastaaksesi palautusvirkkeesi. Ota ne ylös ja sijoita turvalliseen paikkaan turvataksesi Session ID:si.";
"view_seed_reminder_subtitle_3" = "Make sure to store your recovery phrase in a safe place"; "view_seed_reminder_subtitle_3" = "Varmista, että säilytät palautusvirkkeesi turvallisessa paikassa";
"vc_path_title" = "Path"; "vc_path_title" = "Polku";
"vc_path_explanation" = "Session piilottaa IP-osoitteesi ohjaamalla viestisi monen välittäjäreleen läpi Sessionin hajautetussa verkossa. Tässä ovat maat joiden kautta viestisi tällä hetkellä kulkevat:"; "vc_path_explanation" = "Session piilottaa IP-osoitteesi ohjaamalla viestisi monen välittäjäreleen läpi Sessionin hajautetussa verkossa. Tässä ovat maat joiden kautta viestisi tällä hetkellä kulkevat:";
"vc_path_device_row_title" = "Sinä"; "vc_path_device_row_title" = "Sinä";
"vc_path_guard_node_row_title" = "Tulorele"; "vc_path_guard_node_row_title" = "Tulosolmu";
"vc_path_service_node_row_title" = "Välittäjärele"; "vc_path_service_node_row_title" = "Välittäjärele";
"vc_path_destination_row_title" = "Kohde"; "vc_path_destination_row_title" = "Määränpää";
"vc_path_learn_more_button_title" = "Opi lisää"; "vc_path_learn_more_button_title" = "Opi lisää";
"vc_create_private_chat_title" = "Uusi istunto"; "vc_create_private_chat_title" = "Uusi keskustelu";
"vc_create_private_chat_enter_session_id_tab_title" = "Syötä Session ID"; "vc_create_private_chat_enter_session_id_tab_title" = "Syötä Session ID";
"vc_create_private_chat_scan_qr_code_tab_title" = "Skannaa QR-koodi"; "vc_create_private_chat_scan_qr_code_tab_title" = "Skannaa QR-koodi";
"vc_create_private_chat_scan_qr_code_explanation" = "Scan a users QR code to start a session. QR codes can be found by tapping the QR code icon in account settings."; "vc_create_private_chat_scan_qr_code_explanation" = "Skannaa käyttäjän QR-koodi aloittaaksesi keskustelu. QR-koodin voit löytää napauttamalla QR-koodi kuvaketta tilin asetuksissa.";
"vc_enter_public_key_explanation" = "Users can share their Session ID by going into their account settings and tapping \"Share Session ID\", or by sharing their QR code."; "vc_enter_public_key_explanation" = "Käyttäjät voivat jakaa heidän Session ID:n menemällä tilin asetuksiin ja painamalla \"Jaa\" tai jakamalla heidän QR-koodin.";
"vc_scan_qr_code_camera_access_explanation" = "Session tarvitsee kameraa skannatakseen QR-koodeja"; "vc_scan_qr_code_camera_access_explanation" = "Session tarvitsee kameraa skannatakseen QR-koodeja";
"vc_scan_qr_code_grant_camera_access_button_title" = "Anna kameran käyttölupa"; "vc_scan_qr_code_grant_camera_access_button_title" = "Anna kameran käyttölupa";
"vc_create_closed_group_title" = "Uusi suljettu ryhmä"; "vc_create_closed_group_title" = "Uusi yksityinen ryhmä";
"vc_create_closed_group_text_field_hint" = "Anna ryhmälle nimi"; "vc_create_closed_group_text_field_hint" = "Anna ryhmälle nimi";
"vc_create_closed_group_empty_state_message" = "Sinulla ei ole vielä yhtään kontaktia"; "vc_create_closed_group_empty_state_message" = "Sinulla ei ole vielä yhtään keskustelua";
"vc_create_closed_group_empty_state_button_title" = "Aloita keskustelu"; "vc_create_closed_group_empty_state_button_title" = "Aloita keskustelu";
"vc_create_closed_group_group_name_missing_error" = "Anna ryhmälle nimi"; "vc_create_closed_group_group_name_missing_error" = "Anna ryhmälle nimi";
"vc_create_closed_group_group_name_too_long_error" = "Anna ryhmälle lyhyempi nimi"; "vc_create_closed_group_group_name_too_long_error" = "Anna ryhmälle lyhyempi nimi";
"vc_create_closed_group_too_many_group_members_error" = "Suljetussa ryhmässä voi olla enintään 100 jäsentä"; "vc_create_closed_group_too_many_group_members_error" = "Yksityisessä ryhmässä voi olla enintään 100 jäsentä";
"vc_join_public_chat_title" = "Liity avoimeen ryhmään"; "vc_join_public_chat_title" = "Liity julkiseen ryhmään";
"vc_join_public_chat_enter_group_url_tab_title" = "Open Group URL"; "vc_join_public_chat_enter_group_url_tab_title" = "Julkisen ryhmän URL";
"vc_join_public_chat_scan_qr_code_tab_title" = "Skannaa QR-koodi"; "vc_join_public_chat_scan_qr_code_tab_title" = "Skannaa QR-koodi";
"vc_join_public_chat_scan_qr_code_explanation" = "Skannaa sen avoimen ryhmän QR-koodi, johon haluaisit liittyä"; "vc_join_public_chat_scan_qr_code_explanation" = "Skannaa sen julkisen ryhmän QR-koodi, johon haluaisit liittyä";
"vc_enter_chat_url_text_field_hint" = "Enter an open group URL"; "vc_enter_chat_url_text_field_hint" = "Syötä julkisen ryhmän URL";
"vc_settings_title" = "Asetukset"; "vc_settings_title" = "Asetukset";
"vc_settings_display_name_text_field_hint" = "Enter a display name"; "vc_settings_display_name_text_field_hint" = "Anna julkinen nimi";
"vc_settings_display_name_missing_error" = "Please pick a display name"; "vc_settings_display_name_missing_error" = "Ole hyvä ja valitse julkinen nimi";
"vc_settings_display_name_too_long_error" = "Please pick a shorter display name"; "vc_settings_display_name_too_long_error" = "Ole hyvä ja valitse lyhyempi julkinen nimi";
"vc_settings_privacy_button_title" = "Yksityisyys"; "vc_settings_privacy_button_title" = "Yksityisyys";
"vc_settings_notifications_button_title" = "Ilmoitukset"; "vc_settings_notifications_button_title" = "Ilmoitukset";
"vc_settings_recovery_phrase_button_title" = "Palautusvirke"; "vc_settings_recovery_phrase_button_title" = "Palautusvirke";
"vc_settings_clear_all_data_button_title" = "Tyhjennä data"; "vc_settings_clear_all_data_button_title" = "Tyhjennä kaikki data";
"vc_notification_settings_title" = "Ilmoitukset"; "vc_notification_settings_title" = "Ilmoitukset";
"vc_privacy_settings_title" = "Yksityisyys"; "vc_privacy_settings_title" = "Yksityisyys";
"preferences_notifications_strategy_category_title" = "Ilmoitustyyli"; "preferences_notifications_strategy_category_title" = "Ilmoitustyyli";
"modal_seed_title" = "Palatusvirkkeesi"; "modal_seed_title" = "Palatusvirkkeesi";
"modal_seed_explanation" = "Tämä on palautusvirkkeesi. Sillä voit palauttaa tai siirtää Session ID:si uuteen laitteeseen."; "modal_seed_explanation" = "Tämä on palautusvirkkeesi. Sillä voit palauttaa tai siirtää Session ID:si uuteen laitteeseen.";
"modal_clear_all_data_title" = "Tyhjennä kaikki data"; "modal_clear_all_data_title" = "Tyhjennä kaikki data";
"modal_clear_all_data_explanation" = "Tämä poistaa kaikki viestisi, istuntosi sekä kontaktisi lopullisesti."; "modal_clear_all_data_explanation" = "Tämä poistaa kaikki viestisi sekä yhteydet lopullisesti.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Haluatko tyhjentää datan vain tästä laitteesta vai poistaa koko tilin?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Dataa ei poistettu yhdestä palvelusolmusta. Palvelusolmun tunnus: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Dataa ei poistettu %@ palvelusolmusta. Palvelusolmujen tunnukset: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Vain tämä laite";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Koko tili";
"vc_qr_code_title" = "QR-koodi"; "vc_qr_code_title" = "QR-koodi";
"vc_qr_code_view_my_qr_code_tab_title" = "Näytä QR-koodini"; "vc_qr_code_view_my_qr_code_tab_title" = "Näytä QR-koodini";
"vc_qr_code_view_scan_qr_code_tab_title" = "Skannaa QR-koodi"; "vc_qr_code_view_scan_qr_code_tab_title" = "Skannaa QR-koodi";
"vc_qr_code_view_scan_qr_code_explanation" = "Skannaa jonkun QR-koodi aloittaaksesi keskustelu heidän kanssaan"; "vc_qr_code_view_scan_qr_code_explanation" = "Skannaa jonkun QR-koodi aloittaaksesi keskustelu heidän kanssaan";
"vc_view_my_qr_code_explanation" = "Tämä on QR-koodisi. Toiset käyttäjät voivat skannata sen aloittaakseen keskustelun kanssasi."; "vc_view_my_qr_code_explanation" = "Tämä on QR-koodisi. Muut käyttäjät voivat skannata sen aloittaakseen keskustelun kanssasi.";
// MARK: - Not Yet Translated // MARK: - Not Yet Translated
"fast_mode_explanation" = "Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyittelemättä Applen ilmoituspalveluja käyttäen."; "fast_mode_explanation" = "Sinulle ilmoitetaan uusista viesteistä luotettavasti ja viivyttelemättä Applen ilmoituspalvelua käyttäen.";
"fast_mode" = "Pikatila"; "fast_mode" = "Nopeasti";
"slow_mode_explanation" = "Session tarkistaa taustalla ajoittain uudet viestit."; "slow_mode_explanation" = "Session tarkistaa taustalla ajoittain uudet viestit.";
"slow_mode" = "Hidas tila"; "slow_mode" = "Hitaasti";
"vc_pn_mode_title" = "Viesti-ilmoitukset"; "vc_pn_mode_title" = "Viesti-ilmoitukset";
"vc_notification_settings_notification_mode_title" = "Käytä pikatilaa"; "vc_notification_settings_notification_mode_title" = "Toimita nopeasti";
"vc_link_device_recovery_phrase_tab_title" = "Palautusvirke"; "vc_link_device_recovery_phrase_tab_title" = "Palautusvirke";
"vc_link_device_scan_qr_code_explanation" = "Siirry asetuksiin ja sitten kohtaan palautusvirke toisella laitteellasi näyttääksesi QR-koodisi."; "vc_link_device_scan_qr_code_explanation" = "Siirry asetuksiin palautusvirke toisella laitteellasi näyttääksesi QR-koodisi.";
"vc_enter_recovery_phrase_title" = "Palautusvirke"; "vc_enter_recovery_phrase_title" = "Palautusvirke";
"vc_enter_recovery_phrase_explanation" = "Yhdistääksesi laitteesi, anna palautusvirke, jonka sait rekisteröitymisen yhteydessä."; "vc_enter_recovery_phrase_explanation" = "Yhdistääksesi laitteesi, anna palautusvirke, jonka sait rekisteröitymisen yhteydessä.";
"vc_enter_public_key_text_field_hint" = "Anna Session ID tai ONS-nimi"; "vc_enter_public_key_text_field_hint" = "Syötä Session ID tai ONS-nimi";
"vc_home_title" = "Viestit"; "vc_home_title" = "Viestit";
"admin_group_leave_warning" = "Koska teit tämän ryhmän, poistetaan se kaikilta. Tätä ei voi peruuttaa."; "admin_group_leave_warning" = "Koska loit tämän ryhmän, se poistetaan kaikilta. Tätä ei voi peruuttaa.";
"vc_join_open_group_suggestions_title" = "Tai liity yhteen näistä..."; "vc_join_open_group_suggestions_title" = "Tai liity yhteen näistä...";
"vc_settings_invite_a_friend_button_title" = "Kutsu ystävä"; "vc_settings_invite_a_friend_button_title" = "Kutsu ystäviä";
"vc_settings_help_us_translate_button_title" = "Auta meitä kääntämään Session"; "vc_settings_help_us_translate_button_title" = "Auta meitä kääntämään Session";
"copied" = "Kopioitu"; "copied" = "Kopioitu";
"vc_conversation_settings_copy_session_id_button_title" = "Kopioi Session ID"; "vc_conversation_settings_copy_session_id_button_title" = "Kopioi Session ID";
@ -555,72 +561,92 @@
"modal_open_url_title" = "Avataanko URL?"; "modal_open_url_title" = "Avataanko URL?";
"modal_open_url_explanation" = "Oletko varma, että haluat avata linkin %@?"; "modal_open_url_explanation" = "Oletko varma, että haluat avata linkin %@?";
"modal_open_url_button_title" = "Avaa"; "modal_open_url_button_title" = "Avaa";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Kopioi Linkki";
"modal_blocked_title" = "Poista esto henkilöltä %@?"; "modal_blocked_title" = "Poistetaanko esto henkilöltä %@?";
"modal_blocked_explanation" = "Oletko varma, että haluat poistaa eston henkilöltä %@?"; "modal_blocked_explanation" = "Oletko varma, että haluat poistaa eston henkilöltä %@?";
"modal_blocked_button_title" = "Poista esto"; "modal_blocked_button_title" = "Poista esto";
"modal_link_previews_title" = "Ota linkkien esikatselu käyttöön?"; "modal_link_previews_title" = "Luodaanko linkeistä esikatselut?";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "Linkkien esikatselu näyttää esikatselun saamiesi ja lähettämiesi linkkien sisällöstä. Tämä voi olla hyödyllistä, mutta Sessionin pitää vierailla linkatulla nettisivulla luodakseen esikatselun. Voit aina ottaa tämän toiminnon pois päältä Sessionin asetuksissa.";
"modal_link_previews_button_title" = "Ota käyttöön"; "modal_link_previews_button_title" = "Ota käyttöön";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Ääni-/videopuhelut";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Nykyinen ääni-/videopuheluiden toteutus paljastaa IP-osoitteesi Oxen-säätiön palvelimille sekä soittavalle/soitettavalle käyttäjälle.";
"modal_share_logs_title" = "Jaa lokitietoja";
"modal_share_logs_explanation" = "Haluatko siirtää sovelluksen lokitiedot että ne ovat jaettavissa vianmääritystä varten?";
"vc_share_title" = "Jaa Sessioniin"; "vc_share_title" = "Jaa Sessioniin";
"vc_share_loading_message" = "Valmistellaan liitteitä..."; "vc_share_loading_message" = "Valmistellaan liitteitä...";
"vc_share_sending_message" = "Lähetetään..."; "vc_share_sending_message" = "Lähetetään...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Esikatselua ei ladattu epäturvalliselle linkille";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Esikatselun lataaminen epäonnistui";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Linkin esikatselut otettu pois käytöstä";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Avaa ryhmäkutsu"; "view_open_group_invitation_description" = "Avaa ryhmäkutsu";
"vc_conversation_settings_invite_button_title" = "Lisää jäseniä"; "vc_conversation_settings_invite_button_title" = "Lisää jäseniä";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "UKK";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Palaute / Kysely";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Virheenkorjausloki";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Varoitus";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Tämä on palautuslauseesi. Jos lähetät sen jollekulle, heillä on täysin vapaa pääsy tililesi.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Lähetä";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Huomioi vain mainitut";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Vain viestit joissa sinut mainitaan, huomioidaan.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Vain huomioidut ilmoitukset";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Tämä viesti on poistettu";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Poista vain minun nähtäväksi";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Poista kaikkien näkyviltä";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Poista minulta ja vastaanottajalta";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Vastaa";
"context_menu_save" = "Save"; "context_menu_save" = "Tallenna";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Estä Käyttäjä";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Estä ja Poista kaikki";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Lisää liitteitä";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Asiakirja";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Kuvakirjasto";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Kamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Tiivistä liiteasetukset";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Virheellinen Palautuslauseke";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Virheellinen palautuslauseke";
"DISMISS_BUTTON_TEXT" = "Hylkää";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Asetukset";
"voice_call" = "Voice Call"; "call_outgoing" = "Soitit käyttäjälle %@";
"video_call" = "Video Call"; "call_incoming" = "%@ soitti sinulle";
"APN_Message" = "You've got a new message"; "call_missed" = "Vastaamaton puhelu käyttäjältä %@";
"system_mode_theme" = "System"; "call_rejected" = "Hylätty puhelu";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Peruttu puhelu";
"light_mode_theme" = "Light"; "call_timeout" = "Vastaamaton puhelu";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "Äänipuhelu";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "Videopuhelu";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "Sinulla on uusi viesti";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "Sinulla on %@ uutta viestiä.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "Järjestelmä";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "Tumma";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "Vaalea";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "Kiinnitä";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "Irrota";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "Vastaamaton puhelu";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "Vastaamaton puhelu käyttäjältä '%@', koska pahelut edellyttävät 'Ääni- ja videopuhelut' -käyttöoikeuden yksityisyysasetuksista.";
"TXT_DELETE_ACCEPT" = "Accept"; "meida_saved" = "%@ tallensi median.";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "screenshot_taken" = "%@ otti kuvankaappauksen.";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "SEARCH_SECTION_CONTACTS" = "Henkilöt ja ryhmät";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "SEARCH_SECTION_MESSAGES" = "Viestit";
"SEARCH_SECTION_RECENT" = "Viimeisimmät";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "viimeisin viesti: %@";
"MESSAGE_REQUESTS_TITLE" = "Viestipyynnöt";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "Ei odottavia viestipyyntöjä";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Poista kaikki";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Oletko varma että haluat poistaa kaikki viestipyynnöt?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Poista";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Oletko varma että haluat poistaa tämän viestipyynnön?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "Viestipyyntöä hyväksyttäessä ilmeni virhe";
"MESSAGE_REQUESTS_INFO" = "Viestin lähettäminen tälle henkilölle hyväksyy automaattisesti viestipyynnön.";
"MESSAGE_REQUESTS_ACCEPTED" = "Viestipyyntösi hyväksyttiin.";
"MESSAGE_REQUESTS_NOTIFICATION" = "Sinulla on uusi viestipyyntö";
"TXT_HIDE_TITLE" = "Piilota";
"TXT_DELETE_ACCEPT" = "Hyväksy";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Avoin ryhmä";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Yksityisviesti";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Suljettu ryhmä";
"modal_call_permission_request_title" = "Call Permissions Required"; "modal_call_permission_request_title" = "Call Permissions Required";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings.";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";

View File

@ -27,23 +27,23 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Erreur denvoi du fichier joint"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Erreur denvoi du fichier joint";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Impossible de convertir limage."; "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 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_COULD_NOT_CONVERT_TO_MP4" = "Impossible de convertir la vidéo.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Impossible danalyser limage."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Impossible d'importer l'image.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* 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 limage."; "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 message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Impossible de redimensionner limage."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Impossible de redimensionner limage.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Le fichier joint est trop volumineux."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "La pièce jointe est trop lourde.";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Le fichier joint comporte du contenu non valide."; "ATTACHMENT_ERROR_INVALID_DATA" = "La pièce jointe contient du contenu non valide.";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Le fichier joint présente un format de fichier invalide."; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Le format de la pièce jointe est invalide.";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Le fichier joint est vide."; "ATTACHMENT_ERROR_MISSING_DATA" = "La pièce jointe est vide.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Échec de sélection du document."; "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 */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -94,7 +94,7 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Bloquer"; "BLOCK_LIST_BLOCK_BUTTON" = "Bloquer";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Bloquer %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Bloquer %@?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Débloquer %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Débloquer %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Débloquer"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Débloquer";
@ -105,7 +105,7 @@
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* 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. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Les membres actuels peuvent désormais vous ajouter au groupe de nouveau."; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Les membres actuels peuvent désormais vous ajouter au groupe à nouveau.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Les utilisateurs bloqués ne pourront ni vous appeler ni vous envoyer des messages."; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Les utilisateurs bloqués ne pourront ni vous appeler ni vous envoyer des messages.";
/* Label for generic done button. */ /* Label for generic done button. */
@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Album sans nom"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Album sans nom";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Marquer comme lu";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Répondre";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Nous ne pouvons pas activer votre compte tant que vous naurez pas vérifié le code que nous vous avons envoyé."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Nous ne pouvons pas activer votre compte tant que vous naurez pas vérifié le code que nous vous avons envoyé.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Envoyer des aperçus de liens."; "SETTINGS_LINK_PREVIEWS" = "Envoyer des aperçus de liens.";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Les aperçus sont pris en charge pour les liens Imgur, Instagram, Pinterest, Reddit et YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Les aperçus sont pris en charge pour la plupart des URLs.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Aperçus de liens"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Aperçus de liens";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Appels audio et vidéo";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Autoriser les appels audios et vidéos venant des autres utilisateurs.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Appels";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenu des notifications"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenu des notifications";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,14 +524,14 @@
"modal_seed_explanation" = "Ceci est votre phrase de récupération. Elle vous permet de restaurer ou migrer votre Session ID vers un nouvel appareil."; "modal_seed_explanation" = "Ceci est votre phrase de récupération. Elle vous permet de restaurer ou migrer votre Session ID vers un nouvel appareil.";
"modal_clear_all_data_title" = "Effacer toutes les données"; "modal_clear_all_data_title" = "Effacer toutes les données";
"modal_clear_all_data_explanation" = "Cela supprimera définitivement vos messages, vos sessions et vos contacts."; "modal_clear_all_data_explanation" = "Cela supprimera définitivement vos messages, vos sessions et vos contacts.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Souhaitez-vous effacer seulement cet appareil ou supprimer lensemble de votre compte ?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Les données nont pas été supprimées sur un nœud de service. ID du nœud de service : %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Les données nont pas été supprimées sur %@ nœuds de service. ID des nœuds de service : %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Lappareil uniquement";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Lensemble du compte";
"vc_qr_code_title" = "Code QR"; "vc_qr_code_title" = "Code QR";
"vc_qr_code_view_my_qr_code_tab_title" = "Afficher mon code QR"; "vc_qr_code_view_my_qr_code_tab_title" = "Afficher mon code QR";
"vc_qr_code_view_scan_qr_code_tab_title" = "Scanner le code QR"; "vc_qr_code_view_scan_qr_code_tab_title" = "Scanner le QR Code";
"vc_qr_code_view_scan_qr_code_explanation" = "Scannez le code QR d'un autre utilisateur pour démarrer une session"; "vc_qr_code_view_scan_qr_code_explanation" = "Scannez le code QR d'un autre utilisateur pour démarrer une session";
"vc_view_my_qr_code_explanation" = "Ceci est votre code QR. Les autres utilisateurs peuvent le scanner pour démarrer une session avec vous."; "vc_view_my_qr_code_explanation" = "Ceci est votre code QR. Les autres utilisateurs peuvent le scanner pour démarrer une session avec vous.";
// MARK: - Not Yet Translated // MARK: - Not Yet Translated
@ -555,73 +561,93 @@
"modal_open_url_title" = "Ouvrir l'URL?"; "modal_open_url_title" = "Ouvrir l'URL?";
"modal_open_url_explanation" = "Êtes-vous sûr de vouloir ouvrir %@?"; "modal_open_url_explanation" = "Êtes-vous sûr de vouloir ouvrir %@?";
"modal_open_url_button_title" = "Ouvrir"; "modal_open_url_button_title" = "Ouvrir";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Copier le lien";
"modal_blocked_title" = "Débloquer %@?"; "modal_blocked_title" = "Débloquer %@?";
"modal_blocked_explanation" = "Confirmez-vous le déblocage de %@ ?"; "modal_blocked_explanation" = "Confirmez-vous le déblocage de %@ ?";
"modal_blocked_button_title" = "Débloquer"; "modal_blocked_button_title" = "Débloquer";
"modal_link_previews_title" = "Activer les aperçus de lien?"; "modal_link_previews_title" = "Activer les aperçus de lien?";
"modal_link_previews_explanation" = "L'activation des aperçus de lien affichera des aperçus pour les URL que vous envoyez et recevez. Cela peut être utile, mais Session devra contacter les sites Web liés pour générer des aperçus. Vous pouvez toujours désactiver les aperçus de lien dans les paramètres de Session."; "modal_link_previews_explanation" = "L'activation des aperçus de lien affichera des aperçus pour les URL que vous envoyez et recevez. Cela peut être utile, mais Session devra contacter les sites Web liés pour générer des aperçus. Vous pouvez toujours désactiver les aperçus de lien dans les paramètres de Session.";
"modal_link_previews_button_title" = "Activer"; "modal_link_previews_button_title" = "Activer";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Appels audio et vidéo";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "La mise en œuvre actuelle des appels vocaux/vidéo exposera votre adresse IP aux serveurs de la Fondation Oxen et aux utilisateurs appelés.";
"modal_share_logs_title" = "Partager les logs";
"modal_share_logs_explanation" = "Voulez-vous exporter les logs de votre application pour pouvoir les partager pour du débogage ?";
"vc_share_title" = "Partager en Session"; "vc_share_title" = "Partager en Session";
"vc_share_loading_message" = "Préparation des pièces jointes ..."; "vc_share_loading_message" = "Préparation des pièces jointes ...";
"vc_share_sending_message" = "Envoi..."; "vc_share_sending_message" = "Envoi...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Aperçu non chargé pour les liens non sécurisés";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Impossible de charger l'aperçu";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Aperçu des Liens Désactivé";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "L'activation des aperçus de lien affichera des aperçus pour les URL que vous partagez. Cela peut être utile, mais Session devra contacter les sites Web liés pour générer des aperçus.\n\nVous pouvez toujours activer les aperçus de lien dans les paramètres de Session.";
"view_open_group_invitation_description" = "Invitation à un groupe ouvert"; "view_open_group_invitation_description" = "Invitation à un groupe ouvert";
"vc_conversation_settings_invite_button_title" = "Ajouter des membres"; "vc_conversation_settings_invite_button_title" = "Ajouter des membres";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Retours / Sondage";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Logs de Débug";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Attention";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Voici votre phrase de récupération. Si vous l'envoyez à quelqu'un, cette personne aura un accès complet à votre compte.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Envoyer";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Activer les notifications que sur mention";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Quand activer, vous recevrez les notifications duniquement les messages vous notifiant.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Me notifier que si je suis mentionné(e)";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Ce message a été supprimé";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Supprimer pour moi uniquement";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Supprimer pour tout le monde";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Supprimer pour moi et %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Répondre";
"context_menu_save" = "Save"; "context_menu_save" = "Enregistrer";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Bannir l'utilisateur";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Bannir et supprimer tout";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Ajouter une pièce jointe";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Document";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Bibliothèque photos";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Caméra";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Réduire les options de pièces jointes";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Phrase de récupération incorrecte";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Phrase de récupération incorrecte";
"DISMISS_BUTTON_TEXT" = "Fermer";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Paramètres";
"voice_call" = "Voice Call"; "call_outgoing" = "Vous avez appelé %@";
"video_call" = "Video Call"; "call_incoming" = "%@ vous a appelé";
"APN_Message" = "You've got a new message"; "call_missed" = "Appel manqué de %@";
"system_mode_theme" = "System"; "call_rejected" = "Appel refusé";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Appel annulé";
"light_mode_theme" = "Light"; "call_timeout" = "Appels sans réponse";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "Appel vocal";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "Appel vidéo";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "Vous avez un nouveau message.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "Vous avez %@ nouveaux messages.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "Système";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "Sombre";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "Clair";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "Épingler";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "Désépingler";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "Appel manqué";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "Appel manqué de '%@' car vous devez activer la permission 'Appels vocaux et vidéo' dans les paramètres de confidentialité.";
"TXT_DELETE_ACCEPT" = "Accept"; "meida_saved" = "%@ a enregistré le média.";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "screenshot_taken" = "%@ a pris une capture d'écran.";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "SEARCH_SECTION_CONTACTS" = "Contacts et Groupes";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "SEARCH_SECTION_MESSAGES" = "Messages";
"modal_call_permission_request_title" = "Call Permissions Required"; "SEARCH_SECTION_RECENT" = "Récent";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "dernier message : %@";
"MESSAGE_REQUESTS_TITLE" = "Demandes de message";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "Aucune demande de message en attente";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Effacer tous";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Êtes-vous sûr de vouloir supprimer toutes les demandes de messages ?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Effacer";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Êtes-vous sûr de vouloir supprimer cette demande de message ?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "Une erreur s'est produite en acceptant cette demande de message";
"MESSAGE_REQUESTS_INFO" = "Envoyer un message à cet utilisateur acceptera automatiquement sa demande de message.";
"MESSAGE_REQUESTS_ACCEPTED" = "Votre demande de message a été réceptionnée.";
"MESSAGE_REQUESTS_NOTIFICATION" = "Vous avez une nouvelle demande de message";
"TXT_HIDE_TITLE" = "Masquer";
"TXT_DELETE_ACCEPT" = "Accepter";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Groupe public";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Message privé";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Groupe privé";
"modal_call_permission_request_title" = "Autorisations d'appel requises";
"modal_call_permission_request_explanation" = "Vous pouvez activer la permission \"Appels vocaux et vidéo\" dans les paramètres de confidentialité.";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later";

View File

@ -123,9 +123,9 @@
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Session को बैकअप के लिए आपके iCloud खाते तक पहुंच से वंचित कर दिया गया था। अपने Session डेटा का बैकअप लेने के लिए iOS सेटिंग ऐप में अपने iCloud खाते में Session की पहुंच प्रदान करें।"; "CLOUDKIT_STATUS_RESTRICTED" = "Session को बैकअप के लिए आपके iCloud खाते तक पहुंच से वंचित कर दिया गया था। अपने Session डेटा का बैकअप लेने के लिए iOS सेटिंग ऐप में अपने iCloud खाते में Session की पहुंच प्रदान करें।";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "You will no longer be able to send or receive messages in this group."; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "अब आप इस समूह में संदेश भेजने या प्राप्त करने में सक्षम नहीं होंगे।";
/* Alert title */ /* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "Do you really want to leave?"; "CONFIRM_LEAVE_GROUP_TITLE" = "क्या आप वाकई छोड़ना चाहते हैं?";
/* Message for the 'conversation delete confirmation' alert. */ /* Message for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This cannot be undone."; "CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This cannot be undone.";
/* Title for the 'conversation delete confirmation' alert. */ /* Title for the 'conversation delete confirmation' alert. */
@ -141,45 +141,45 @@
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Block This User"; "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Block This User";
/* Title of the 'mute this thread' action sheet. */ /* Title of the 'mute this thread' action sheet. */
"CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Mute"; "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "म्यूट";
/* label for 'mute thread' cell in conversation settings */ /* label for 'mute thread' cell in conversation settings */
"CONVERSATION_SETTINGS_MUTE_LABEL" = "Mute"; "CONVERSATION_SETTINGS_MUTE_LABEL" = "म्यूट";
/* Indicates that the current thread is not muted. */ /* Indicates that the current thread is not muted. */
"CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "Not muted"; "CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "म्यूट नहीं";
/* Label for button to mute a thread for a day. */ /* Label for button to mute a thread for a day. */
"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "Mute for one day"; "CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "एक दिन के लिए म्यूट करें";
/* Label for button to mute a thread for a hour. */ /* Label for button to mute a thread for a hour. */
"CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "Mute for one hour"; "CONVERSATION_SETTINGS_MUTE_ONE_HOUR_ACTION" = "एक घंटे के लिए म्यूट करें";
/* Label for button to mute a thread for a minute. */ /* Label for button to mute a thread for a minute. */
"CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "Mute for one minute"; "CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "एक मिनट के लिए म्यूट करें";
/* Label for button to mute a thread for a week. */ /* Label for button to mute a thread for a week. */
"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "Mute for one week"; "CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "एक हफ़्ते के लिए म्यूट करें";
/* Label for button to mute a thread for a year. */ /* Label for button to mute a thread for a year. */
"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "Mute for one year"; "CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "एक साल के लिए म्यूट करें";
/* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */ /* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */
"CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "until %@"; "CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "जब तक %@";
/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */
"CONVERSATION_SETTINGS_SEARCH" = "Search Conversation"; "CONVERSATION_SETTINGS_SEARCH" = "बातचीत खोजें";
/* Label for button to unmute a thread. */ /* Label for button to unmute a thread. */
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Unmute"; "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "अनम्यूट";
/* Title for the 'crop/scale image' dialog. */ /* Title for the 'crop/scale image' dialog. */
"CROP_SCALE_IMAGE_VIEW_TITLE" = "Move and Scale"; "CROP_SCALE_IMAGE_VIEW_TITLE" = "Move and Scale";
/* Subtitle shown while the app is updating its database. */ /* Subtitle shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_SUBTITLE" = "This can take a few minutes."; "DATABASE_VIEW_OVERLAY_SUBTITLE" = "इसमें कुछ मिनटों का समय लगेगा ।";
/* Title shown while the app is updating its database. */ /* Title shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_TITLE" = "Optimizing Database"; "DATABASE_VIEW_OVERLAY_TITLE" = "डाटाबेस का अनुकूलन";
/* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */ /* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */
"DATE_HOURS_AGO_FORMAT" = "%@ Hr Ago"; "DATE_HOURS_AGO_FORMAT" = "%@ घंटा पहले";
/* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */ /* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */
"DATE_MINUTES_AGO_FORMAT" = "%@ Min Ago"; "DATE_MINUTES_AGO_FORMAT" = "%@ मिनट पहले";
/* The present; the current time. */ /* The present; the current time. */
"DATE_NOW" = "Now"; "DATE_NOW" = "अभी";
/* The current day. */ /* The current day. */
"DATE_TODAY" = "Today"; "DATE_TODAY" = "आज";
/* The day before today. */ /* The day before today. */
"DATE_YESTERDAY" = "Yesterday"; "DATE_YESTERDAY" = "कल";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "Disappearing Messages"; "DISAPPEARING_MESSAGES" = "गायब होने वाले संदेश";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */ /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Messages in this conversation will disappear after %@."; "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Messages in this conversation will disappear after %@.";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
@ -211,13 +211,13 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_REMOVED" = " %@ was removed from the group. "; "GROUP_MEMBER_REMOVED" = " %@ was removed from the group. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBERS_REMOVED" = " %@ were removed from the group. "; "GROUP_MEMBERS_REMOVED" = " %@ समूह से हटा दिए गये हैं ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_TITLE_CHANGED" = "Title is now '%@'. "; "GROUP_TITLE_CHANGED" = "Title is now '%@'. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_UPDATED" = "Group updated."; "GROUP_UPDATED" = "Group updated.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_YOU_LEFT" = "You have left the group."; "GROUP_YOU_LEFT" = "आपने समूह छोड़ दिया है";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"YOU_WERE_REMOVED" = " You were removed from the group. "; "YOU_WERE_REMOVED" = " You were removed from the group. ";
/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ /* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */
@ -374,6 +374,12 @@
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Voice and video calls";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -562,6 +568,8 @@
"modal_link_previews_title" = "लिंक पूर्वावलोकन सक्षम करें?"; "modal_link_previews_title" = "लिंक पूर्वावलोकन सक्षम करें?";
"modal_link_previews_explanation" = "लिंक पूर्वावलोकन सक्षम करने से आपके द्वारा भेजे और प्राप्त किए जाने वाले URL के पूर्वावलोकन दिखाई देंगे. यह उपयोगी हो सकता है, लेकिन Session को पूर्वावलोकन उत्पन्न करने के लिए लिंक की गई वेबसाइटों से संपर्क करने की आवश्यकता होगी। आप कभी भी Session की सेटिंग में लिंक पूर्वावलोकन अक्षम कर सकते हैं।"; "modal_link_previews_explanation" = "लिंक पूर्वावलोकन सक्षम करने से आपके द्वारा भेजे और प्राप्त किए जाने वाले URL के पूर्वावलोकन दिखाई देंगे. यह उपयोगी हो सकता है, लेकिन Session को पूर्वावलोकन उत्पन्न करने के लिए लिंक की गई वेबसाइटों से संपर्क करने की आवश्यकता होगी। आप कभी भी Session की सेटिंग में लिंक पूर्वावलोकन अक्षम कर सकते हैं।";
"modal_link_previews_button_title" = "सक्षम करें"; "modal_link_previews_button_title" = "सक्षम करें";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "सत्र में साझा करें"; "vc_share_title" = "सत्र में साझा करें";
@ -597,15 +605,33 @@
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Settings";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -337,7 +337,7 @@
/* Label for switch in settings that controls whether or not backup is enabled. */ /* Label for switch in settings that controls whether or not backup is enabled. */
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Sigurnosno kopiranje omogućeno"; "SETTINGS_BACKUP_ENABLING_SWITCH" = "Sigurnosno kopiranje omogućeno";
/* Label for iCloud status row in the in the backup settings view. */ /* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud status"; "SETTINGS_BACKUP_ICLOUD_STATUS" = "iCloud stanje";
/* Indicates that the last backup restore failed. */ /* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Vraćanje sigurnosne kopije nije uspjelo"; "SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Vraćanje sigurnosne kopije nije uspjelo";
/* Indicates that app is not restoring up. */ /* Indicates that app is not restoring up. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Pošaljite preglede poveznica"; "SETTINGS_LINK_PREVIEWS" = "Pošaljite preglede poveznica";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Pregledi su podržani za poveznice Imgur, Instagram, Pinterest, Reddit i YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Pregledi su podržani za većinu Url -ova.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Pregledi poveznica"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Pregledi poveznica";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Audio i video pozivi";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Dopusti pristup da se prihvate audio i video pozivi od drugih korisnika.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Pozivi";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Sadržaj obavijesti"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Sadržaj obavijesti";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -399,7 +405,7 @@
/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d"; "TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d";
/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ /* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS" = "%@ dana"; "TIME_AMOUNT_HOURS" = "%@ sati";
/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h"; "TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h";
/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ /* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */
@ -452,7 +458,7 @@
"view_fake_chat_bubble_1" = "Što je Session?"; "view_fake_chat_bubble_1" = "Što je Session?";
"view_fake_chat_bubble_2" = "To je decentralizirana aplikacija za razmjenu šifriranih poruka"; "view_fake_chat_bubble_2" = "To je decentralizirana aplikacija za razmjenu šifriranih poruka";
"view_fake_chat_bubble_3" = "Dakle, ne prikuplja moje osobne podatke ili metapodatke razgovora? Kako to radi?"; "view_fake_chat_bubble_3" = "Dakle, ne prikuplja moje osobne podatke ili metapodatke razgovora? Kako to radi?";
"view_fake_chat_bubble_4" = "Koristeći kombinacije naprednih anonimnih usmjeravanja i end-to-end tehnologija šifriranja."; "view_fake_chat_bubble_4" = "Koristeći kombinacije naprednih anonimnih usmjeravanja i end-to-end tehnologiju šifriranja.";
"view_fake_chat_bubble_5" = "Prijatelji ne dopuštaju prijateljima da koriste kompromitirane aplikacije za dopisivanje. Nema na čemu."; "view_fake_chat_bubble_5" = "Prijatelji ne dopuštaju prijateljima da koriste kompromitirane aplikacije za dopisivanje. Nema na čemu.";
"vc_register_title" = "Pozdravite svoj Session ID"; "vc_register_title" = "Pozdravite svoj Session ID";
"vc_register_explanation" = "Vaš Session ID jedinstvena je adresa koju ljudi mogu koristiti da bi vas kontaktirali na Session-u. Bez povezivanja sa vašim stvarnim identitetom, vaš Session ID je potpuno anoniman i dizajniran privatno."; "vc_register_explanation" = "Vaš Session ID jedinstvena je adresa koju ljudi mogu koristiti da bi vas kontaktirali na Session-u. Bez povezivanja sa vašim stvarnim identitetom, vaš Session ID je potpuno anoniman i dizajniran privatno.";
@ -462,7 +468,7 @@
"vc_link_device_title" = "Poveži uređaj"; "vc_link_device_title" = "Poveži uređaj";
"vc_link_device_scan_qr_code_tab_title" = "Skeniraj QR kôd"; "vc_link_device_scan_qr_code_tab_title" = "Skeniraj QR kôd";
"vc_display_name_title_2" = "Odaberite svoje ime za prikaz"; "vc_display_name_title_2" = "Odaberite svoje ime za prikaz";
"vc_display_name_explanation" = "To će biti vaše ime dok ćete koristiti Session. To može biti vaše pravo ime, lažno ime ili bilo što drugo što želite."; "vc_display_name_explanation" = "To će biti vaše ime dok ćete koristiti Session. To može biti vaše pravo ime, lažno ime ili bilo što drugo, što želite.";
"vc_display_name_text_field_hint" = "Unesite ime za prikaz"; "vc_display_name_text_field_hint" = "Unesite ime za prikaz";
"vc_display_name_display_name_missing_error" = "Molimo odaberite svoje ime za prikaz"; "vc_display_name_display_name_missing_error" = "Molimo odaberite svoje ime za prikaz";
"vc_display_name_display_name_too_long_error" = "Odaberite kraće ime za prikaz"; "vc_display_name_display_name_too_long_error" = "Odaberite kraće ime za prikaz";
@ -470,8 +476,8 @@
"vc_pn_mode_no_option_picked_modal_title" = "Odaberite opciju"; "vc_pn_mode_no_option_picked_modal_title" = "Odaberite opciju";
"vc_home_empty_state_message" = "Nemate kontakata"; "vc_home_empty_state_message" = "Nemate kontakata";
"vc_home_empty_state_button_title" = "Pokreni Session razgovor"; "vc_home_empty_state_button_title" = "Pokreni Session razgovor";
"vc_seed_title" = "Fraza za oporavak"; "vc_seed_title" = "Vaša fraza za oporavak";
"vc_seed_title_2" = "Fraza za oporavak"; "vc_seed_title_2" = "Upoznajte Vašu frazu za oporavak";
"vc_seed_explanation" = "Fraza za oporavak je glavni ključ vašeg Session ID-a - pomoću njega možete vratiti svoj Session ID ako izgubite pristup uređaju. Spremite frazu za oporavak na sigurno mjesto i nedajte je nikome."; "vc_seed_explanation" = "Fraza za oporavak je glavni ključ vašeg Session ID-a - pomoću njega možete vratiti svoj Session ID ako izgubite pristup uređaju. Spremite frazu za oporavak na sigurno mjesto i nedajte je nikome.";
"vc_seed_reveal_button_title" = "Drži za otkrivanje"; "vc_seed_reveal_button_title" = "Drži za otkrivanje";
"view_seed_reminder_subtitle_1" = "Osigurajte svoj račun spremanjem fraze za oporavak"; "view_seed_reminder_subtitle_1" = "Osigurajte svoj račun spremanjem fraze za oporavak";
@ -488,8 +494,8 @@
"vc_create_private_chat_enter_session_id_tab_title" = "Unesite Session ID"; "vc_create_private_chat_enter_session_id_tab_title" = "Unesite Session ID";
"vc_create_private_chat_scan_qr_code_tab_title" = "Skeniraj QR kôd"; "vc_create_private_chat_scan_qr_code_tab_title" = "Skeniraj QR kôd";
"vc_create_private_chat_scan_qr_code_explanation" = "Skenirajte korisnikov QR kôd da biste započeli sesiju. QR kodovi se mogu pronaći dodirom ikone QR koda u postavkama računa."; "vc_create_private_chat_scan_qr_code_explanation" = "Skenirajte korisnikov QR kôd da biste započeli sesiju. QR kodovi se mogu pronaći dodirom ikone QR koda u postavkama računa.";
"vc_enter_public_key_explanation" = "Korisnici mogu podijeliti svoj Session ID tako da uđu u postavke računa i dodirnu \"Dijeli Session ID\" ili dijeljenjem svog QR koda."; "vc_enter_public_key_explanation" = "Korisnici mogu podijeliti svoj Session ID tako da uđu u postavke računa i dodirnu \"Dijeli Session ID\" ili dijeljenjem svog QR kôda.";
"vc_scan_qr_code_camera_access_explanation" = "Session treba pristup kameri za skeniranje QR kodova"; "vc_scan_qr_code_camera_access_explanation" = "Session treba pristup kameri za skeniranje QR kôdova";
"vc_scan_qr_code_grant_camera_access_button_title" = "Odobri pristup kameri"; "vc_scan_qr_code_grant_camera_access_button_title" = "Odobri pristup kameri";
"vc_create_closed_group_title" = "Nova zatvorena grupa"; "vc_create_closed_group_title" = "Nova zatvorena grupa";
"vc_create_closed_group_text_field_hint" = "Unesite naziv grupe"; "vc_create_closed_group_text_field_hint" = "Unesite naziv grupe";
@ -517,12 +523,12 @@
"modal_seed_title" = "Fraza za oporavak"; "modal_seed_title" = "Fraza za oporavak";
"modal_seed_explanation" = "Ovo je vaša fraza za oporavak. Pomoću nje možete vratiti ili migrirati svoj Session ID na novi uređaj."; "modal_seed_explanation" = "Ovo je vaša fraza za oporavak. Pomoću nje možete vratiti ili migrirati svoj Session ID na novi uređaj.";
"modal_clear_all_data_title" = "Obriši sve podatke"; "modal_clear_all_data_title" = "Obriši sve podatke";
"modal_clear_all_data_explanation" = "Ovo će trajno izbrisati vaše poruke, sesije i kontakte."; "modal_clear_all_data_explanation" = "Ovo će trajno izbrisati vaše poruke, sesije razgovora i kontakte.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Želite li izbrisati samo ovaj uređaj ili želite izbrisati cijeli račun?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Podatke nije izbrisao 1 uslužni čvor. ID uslužnog čvora: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Podatke nije izbrisao %@ uslužni čvor. ID uslužnog čvora: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Samo uređaj";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Cijeli račun";
"vc_qr_code_title" = "QR kôd"; "vc_qr_code_title" = "QR kôd";
"vc_qr_code_view_my_qr_code_tab_title" = "Pogledaj moj QR kôd"; "vc_qr_code_view_my_qr_code_tab_title" = "Pogledaj moj QR kôd";
"vc_qr_code_view_scan_qr_code_tab_title" = "Skeniraj QR kôd"; "vc_qr_code_view_scan_qr_code_tab_title" = "Skeniraj QR kôd";
@ -555,15 +561,17 @@
"modal_open_url_title" = "Otvori poveznicu?"; "modal_open_url_title" = "Otvori poveznicu?";
"modal_open_url_explanation" = "Jeste li sigurni da želite otvoriti %@?"; "modal_open_url_explanation" = "Jeste li sigurni da želite otvoriti %@?";
"modal_open_url_button_title" = "Otvori"; "modal_open_url_button_title" = "Otvori";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Kopiraj poveznicu";
"modal_blocked_title" = "Deblokiraj %@?"; "modal_blocked_title" = "Deblokiraj %@?";
"modal_blocked_explanation" = "Jeste li sigurni da želite deblokirati %@?"; "modal_blocked_explanation" = "Jeste li sigurni da želite deblokirati %@?";
"modal_blocked_button_title" = "Deblokiraj"; "modal_blocked_button_title" = "Deblokiraj";
"modal_link_previews_title" = "Omogući preglede poveznica?"; "modal_link_previews_title" = "Omogući preglede poveznica?";
"modal_link_previews_explanation" = "Omogućavanjem pregleda poveznica prikazat će se pregledi za URL-ove koje šaljete i primate. To može biti korisno, ali Session će trebati kontaktirati povezane web stranice kako bi generirao preglede. Uvijek možete onemogućiti preglede poveznica u postavkama Session-a."; "modal_link_previews_explanation" = "Omogućavanjem pregleda poveznica prikazat će se pregledi za URL-ove koje šaljete i primate. To može biti korisno, ali Session će trebati kontaktirati povezane web stranice kako bi generirao preglede. Uvijek možete onemogućiti preglede poveznica u postavkama Session-a.";
"modal_link_previews_button_title" = "Uključi"; "modal_link_previews_button_title" = "Uključi";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Audio / video pozivi";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Trenutna će implementacija sustava poziva Vašu IP adresu učiniti vidljivom serverima Oxen Foundationa te korisniku kojem se poziv upućuje.";
"modal_share_logs_title" = "Podijeli zapisnik";
"modal_share_logs_explanation" = "Želite li izvesti zapisnik koji se može podijeliti za oporavak aplikacije?";
"vc_share_title" = "Podijeli sa Session-om"; "vc_share_title" = "Podijeli sa Session-om";
"vc_share_loading_message" = "Priprema privitaka..."; "vc_share_loading_message" = "Priprema privitaka...";
"vc_share_sending_message" = "Slanje..."; "vc_share_sending_message" = "Slanje...";
@ -574,38 +582,56 @@
"view_open_group_invitation_description" = "Otvori pozivnicu za grupu"; "view_open_group_invitation_description" = "Otvori pozivnicu za grupu";
"vc_conversation_settings_invite_button_title" = "Dodaj članove"; "vc_conversation_settings_invite_button_title" = "Dodaj članove";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Povratne informacije / anketa";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Evidencija o otklanjanju grešaka";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Upozorenje";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Ovo je vaša fraza za oporavak. Ako ju pošaljete nekome, imat će puni pristup vašem računu.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Pošalji";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Obavijesti samo kod spominjanja";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Kad je omogućeno, bit ćete obaviješteni samo o porukama koje vas spominju.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Obavijesti samo kod spominjanja";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Ova poruka je izbrisana";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Izbriši samo za mene";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Izbriši za sve";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Izbriši za mene i %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Odgovori";
"context_menu_save" = "Save"; "context_menu_save" = "Spremi";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Zabrani korisnik";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Zabrani i izbriši sve";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Dodaj privitak";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Dokument";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Galerija slika";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Kamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Sažmi opcije privitka";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Nevažeća fraza za oporavak";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Nevažeća fraza za oporavak";
"DISMISS_BUTTON_TEXT" = "Odbaci";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Postavke";
"voice_call" = "Voice Call"; "call_outgoing" = "Zvali ste %@";
"video_call" = "Video Call"; "call_incoming" = "zvao vas je %@";
"APN_Message" = "You've got a new message"; "call_missed" = "Propušten poziv od %@";
"system_mode_theme" = "System"; "call_rejected" = "Poziv odbijen";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Poziv odbačen";
"light_mode_theme" = "Light"; "call_timeout" = "Neodgovoreni poziv";
"voice_call" = "Glasovni poziv";
"video_call" = "Video poziv";
"APN_Message" = "Imate novu poruku!";
"APN_Collapsed_Messages" = "Imate %@ novih poruka!";
"system_mode_theme" = "Sustav";
"dark_mode_theme" = "Tamno";
"light_mode_theme" = "Svijetlo";
"PIN_BUTTON_TEXT" = "Prikvači";
"UNPIN_BUTTON_TEXT" = "Otkvači";
"modal_call_missed_tips_title" = "Propušten poziv";
"modal_call_missed_tips_explanation" = "Propušten poziv od '%@' jer 'Audio i video pozivi' nemaju dopuštenje u Postavkama privatnosti.";
"meida_saved" = "%@ je spremio/la medij.";
"screenshot_taken" = "%@ je napravio/la snimku zaslona.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -243,7 +243,7 @@
/* Confirmation button text to delete selected media message from the gallery */ /* Confirmation button text to delete selected media message from the gallery */
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Hapus Pesan"; "MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Hapus Pesan";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */ /* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ on %@"; "MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ pada %@";
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ /* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; "MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
/* Short sender label for media sent by you */ /* Short sender label for media sent by you */
@ -273,7 +273,7 @@
/* An explanation of the consequences of muting a thread. */ /* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "Anda tidak akan menerima pemberitahuan untuk percakapan yang disenyapkan."; "MUTE_BEHAVIOR_EXPLANATION" = "Anda tidak akan menerima pemberitahuan untuk percakapan yang disenyapkan.";
/* notification title. Embeds {{author name}} and {{group name}} */ /* notification title. Embeds {{author name}} and {{group name}} */
"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ to %@"; "NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ ke %@";
/* Label for 1:1 conversation with yourself. */ /* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Catatan Pribadi"; "NOTE_TO_SELF" = "Catatan Pribadi";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ /* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
@ -341,11 +341,11 @@
/* Indicates that the last backup restore failed. */ /* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Memulihkan cadangan gagal"; "SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Memulihkan cadangan gagal";
/* Indicates that app is not restoring up. */ /* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle"; "SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Cadangkan dan Pulihkan diam";
/* Indicates that app is restoring up. */ /* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress"; "SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Cadangkan dan Pulihkan sedang dalam proses";
/* Indicates that the last backup restore succeeded. */ /* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded"; "SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Cadangkan dan Pulihkan berhasil";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PHASE" = "Fase"; "SETTINGS_BACKUP_PHASE" = "Fase";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
@ -369,11 +369,17 @@
/* Label for settings view that allows user to change the notification sound. */ /* Label for settings view that allows user to change the notification sound. */
"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Suara Pesan"; "SETTINGS_ITEM_NOTIFICATION_SOUND" = "Suara Pesan";
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Send Link Previews"; "SETTINGS_LINK_PREVIEWS" = "Kirim pratinjau tautan";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Mendukung pratinjau disebagian besar url.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Pratinjau tautan";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Voice and video calls";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Isi Pemberitahuan"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Isi Pemberitahuan";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -391,17 +397,17 @@
/* Section header */ /* Section header */
"SETTINGS_SECURITY_TITLE" = "Layar Aman"; "SETTINGS_SECURITY_TITLE" = "Layar Aman";
/* Label for the 'typing indicators' setting. */ /* Label for the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS" = "Typing Indicators"; "SETTINGS_TYPING_INDICATORS" = "Indikator mengetik";
/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ /* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */
"SOUNDS_NONE" = "None"; "SOUNDS_NONE" = "Tidak ada";
/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ /* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS" = "%@hari"; "TIME_AMOUNT_DAYS" = "%@hari";
/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d"; "TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@h";
/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ /* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS" = "%@jam"; "TIME_AMOUNT_HOURS" = "%@jam";
/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h"; "TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@j";
/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ /* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_MINUTES" = "%@menit"; "TIME_AMOUNT_MINUTES" = "%@menit";
/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */
@ -409,7 +415,7 @@
/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ /* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS" = "%@ detik"; "TIME_AMOUNT_SECONDS" = "%@ detik";
/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s"; "TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@d";
/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ /* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_DAY" = "%@hari"; "TIME_AMOUNT_SINGLE_DAY" = "%@hari";
/* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ /* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */
@ -421,7 +427,7 @@
/* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ /* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_WEEKS" = "%@minggu"; "TIME_AMOUNT_WEEKS" = "%@minggu";
/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@w"; "TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@mgg";
/* Label for the cancel button in an alert or action sheet. */ /* Label for the cancel button in an alert or action sheet. */
"TXT_CANCEL_TITLE" = "Batal"; "TXT_CANCEL_TITLE" = "Batal";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Ini adalah kata pemulihan anda. Gunakan untuk mengembalikan atau memindahkan Session ID anda ke perangkat lain"; "modal_seed_explanation" = "Ini adalah kata pemulihan anda. Gunakan untuk mengembalikan atau memindahkan Session ID anda ke perangkat lain";
"modal_clear_all_data_title" = "Hapus semua data"; "modal_clear_all_data_title" = "Hapus semua data";
"modal_clear_all_data_explanation" = "Pesan, Session, dan kontak anda akan dihapus secara permanen"; "modal_clear_all_data_explanation" = "Pesan, Session, dan kontak anda akan dihapus secara permanen";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Apakah anda ingin menghapus di perangkat ini, atau menghapus akun anda seutuhnya?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Data tidak dihapus oleh 1 Service Node. Service Node ID: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Data tidak dihapus oleh %@ Service Nodes. Service Node IDs: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Perangkat saja";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Seluruh akun";
"vc_qr_code_title" = "Kode QR"; "vc_qr_code_title" = "Kode QR";
"vc_qr_code_view_my_qr_code_tab_title" = "Lihat kode QR saya"; "vc_qr_code_view_my_qr_code_tab_title" = "Lihat kode QR saya";
"vc_qr_code_view_scan_qr_code_tab_title" = "Pindai kode QR"; "vc_qr_code_view_scan_qr_code_tab_title" = "Pindai kode QR";
@ -562,6 +568,8 @@
"modal_link_previews_title" = "Enable Link Previews?"; "modal_link_previews_title" = "Enable Link Previews?";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings.";
"modal_link_previews_button_title" = "Enable"; "modal_link_previews_button_title" = "Enable";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "Share to Session"; "vc_share_title" = "Share to Session";
@ -597,15 +605,33 @@
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Settings";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -27,25 +27,25 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Errore invio allegato"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Errore invio allegato";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Nepavyko kovertuoti paveikslo."; "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 message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Nepavyko apdoroti vaizdo įrašo."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Impossibile elaborare il video.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Nepavyko išnagrinėti paveikslo."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Impossibile elaborare immagine.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nepavyko pašalinti metaduomenų iš paveikslo."; "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 message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Nepavyko pakeisti paveikslo dydžio."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Impossibile ridimensionare l'immagine.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Priedas yra per didelis."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Allegato troppo pesante.";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Priede yra neteisingas turinys."; "ATTACHMENT_ERROR_INVALID_DATA" = "Contenuto dell'allegato non valido.";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Priedas yra neteisingo failo formato."; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Il formato dell'allegato non è valido.";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Priedas yra tuščias."; "ATTACHMENT_ERROR_MISSING_DATA" = "L'allegato è vuoto.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Scelta del documento fallita."; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Selezione del documento fallito.";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Crea un archivio compresso di questo file o cartella e quindi prova a inviarlo."; "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 */ /* Alert title when picking a document fails because user picked a directory/bundle */
@ -94,7 +94,7 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Blocca"; "BLOCK_LIST_BLOCK_BUTTON" = "Blocca";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Bloccare %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Bloccare %@?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Sbloccare %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Sbloccare %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Sblocca"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Sblocca";
@ -103,9 +103,9 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Utente bloccato"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Utente bloccato";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ buvo atblokuota(-as)."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ è stato sbloccato.";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Dabar, esami dalyviai gali ir vėl pridėti jus į grupę."; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "I membri esistenti possono ora aggiungerti nel gruppo nuovamente.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Gli utenti bloccati non potranno chiamarti o inviarti messaggi."; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Gli utenti bloccati non potranno chiamarti o inviarti messaggi.";
/* Label for generic done button. */ /* Label for generic done button. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Invia anteprime link"; "SETTINGS_LINK_PREVIEWS" = "Invia anteprime link";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Le anteprime sono supportate per link di Imgur, Instagram, Pinterest, Reddit e YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Le anteprime sono supportate per la maggior parte degli url.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Anteprime link"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Anteprime link";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Chiamate vocali e video";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Consenti l'accesso per accettare le chiamate vocali e video da altri utenti.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Chiamate";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenuto notifica"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Contenuto notifica";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Questa è la tua frase di recupero. Usala per ripristinare o migrare la Sessione ID a un nuovo dispositivo."; "modal_seed_explanation" = "Questa è la tua frase di recupero. Usala per ripristinare o migrare la Sessione ID a un nuovo dispositivo.";
"modal_clear_all_data_title" = "Elimina tutti i dati"; "modal_clear_all_data_title" = "Elimina tutti i dati";
"modal_clear_all_data_explanation" = "Ciò eliminerà permanentemente i tuoi messaggi, sessioni e contatti."; "modal_clear_all_data_explanation" = "Ciò eliminerà permanentemente i tuoi messaggi, sessioni e contatti.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Vuoi cancellare solo su questo dispositivo o eliminare l'intero account?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Dati non eliminati da 1 nodi di servizio. ID Nodo di servizio: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Dati non eliminati da %@ nodi di servizio. ID Nodo di servizio: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Solo dispositivo";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Tutto l'account";
"vc_qr_code_title" = "Codice QR"; "vc_qr_code_title" = "Codice QR";
"vc_qr_code_view_my_qr_code_tab_title" = "Visualizza il mio codice QR"; "vc_qr_code_view_my_qr_code_tab_title" = "Visualizza il mio codice QR";
"vc_qr_code_view_scan_qr_code_tab_title" = "Scansiona il codice QR"; "vc_qr_code_view_scan_qr_code_tab_title" = "Scansiona il codice QR";
@ -555,73 +561,93 @@
"modal_open_url_title" = "Aprire URL?"; "modal_open_url_title" = "Aprire URL?";
"modal_open_url_explanation" = "Sei sicuro di voler aprire %@?"; "modal_open_url_explanation" = "Sei sicuro di voler aprire %@?";
"modal_open_url_button_title" = "Apri"; "modal_open_url_button_title" = "Apri";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Copia link";
"modal_blocked_title" = "Sbloccare %@?"; "modal_blocked_title" = "Sbloccare %@?";
"modal_blocked_explanation" = "Sei sicuro di voler sbloccare %@?"; "modal_blocked_explanation" = "Sei sicuro di voler sbloccare %@?";
"modal_blocked_button_title" = "Sblocca"; "modal_blocked_button_title" = "Sblocca";
"modal_link_previews_title" = "Abilitare Anteprima Link?"; "modal_link_previews_title" = "Abilitare Anteprima Link?";
"modal_link_previews_explanation" = "Abilitando le anteprime dei collegamenti Session mostrerà le anteprime degli URL che invii e ricevi. Questo può essere utile, ma Session dovrà contattare i siti web collegati per generare le anteprime. Puoi sempre disabilitare le anteprime dei link nelle impostazioni di Session."; "modal_link_previews_explanation" = "Abilitando le anteprime dei collegamenti Session mostrerà le anteprime degli URL che invii e ricevi. Questo può essere utile, ma Session dovrà contattare i siti web collegati per generare le anteprime. Puoi sempre disabilitare le anteprime dei link nelle impostazioni di Session.";
"modal_link_previews_button_title" = "Abilita"; "modal_link_previews_button_title" = "Abilita";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Chiamate vocali / video";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "L'attuale implementazione di chiamate vocali / video esporrà il tuo indirizzo IP ai server di Oxen Foundation e all'utente chiamato/ chiamato.";
"modal_share_logs_title" = "Condividi log file";
"modal_share_logs_explanation" = "Vuoi esportare i log dell'applicazione per essere in grado di condividerli per risolvere i problemi?";
"vc_share_title" = "Condividi con Session"; "vc_share_title" = "Condividi con Session";
"vc_share_loading_message" = "Preparazione allegati..."; "vc_share_loading_message" = "Preparazione allegati...";
"vc_share_sending_message" = "Invio..."; "vc_share_sending_message" = "Invio...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Anteprima non caricata: il link non è sicuro";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Impossibile caricare l'anteprima";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Anteprima dei link disabilitata";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Abilitando le anteprime dei collegamenti verranno mostrate le anteprime degli URL che condividi. Questo può essere utile, ma Session dovrà contattare i siti web collegati per generare le anteprime.\n\nPuoi sempre abilitare le anteprime dei link nelle impostazioni di Session.";
"view_open_group_invitation_description" = "Apri invito di gruppo"; "view_open_group_invitation_description" = "Apri invito di gruppo";
"vc_conversation_settings_invite_button_title" = "Aggiungi membri"; "vc_conversation_settings_invite_button_title" = "Aggiungi membri";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Sondaggio";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Log di debug";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Attenzione";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Questa è la tua frase di recupero. Qualora dovessi inviarla a qualcuno questi avranno accesso totale al tuo account.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Invia";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notifica solo per le menzioni";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Se abilitato, verrai avvisato solo per i messaggi che ti menzionano.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Invio notifiche solo per le menzioni";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Questo messaggio è stato eliminato";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Elimina solo per me";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Elimina per tutti";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Elimina per me e %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Rispondi";
"context_menu_save" = "Save"; "context_menu_save" = "Salva";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Banna utente";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Banna ed elimina tutto";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Aggiungi allegati";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Documento";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Galleria foto";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Fotocamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Comprimi opzioni allegato";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Frase Di Recupero non valida";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Frase Di Ripristino Non Valida";
"DISMISS_BUTTON_TEXT" = "Chiudi";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Impostazioni";
"voice_call" = "Voice Call"; "call_outgoing" = "Hai chiamato %@";
"video_call" = "Video Call"; "call_incoming" = "%@ ti ha chiamato";
"APN_Message" = "You've got a new message"; "call_missed" = "Chiamata persa da %@";
"system_mode_theme" = "System"; "call_rejected" = "Chiamata rifiutata";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Chiama Annullata";
"light_mode_theme" = "Light"; "call_timeout" = "Chiamata Senza Risposta";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "Chiamata Vocale";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "Chiamata Video";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "Hai ricevuto un nuovo messaggio";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "Hai ricevuto %@ nuovi messaggi.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "Sistema";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "Scuro";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "Chiaro";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "Fissa";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "Non fissare in alto";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "Chiamata persa";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "Chiamata persa da '%@' perché era necessario abilitare l'autorizzazione 'Voce e video chiamate' nelle Impostazioni Privacy.";
"TXT_DELETE_ACCEPT" = "Accept"; "meida_saved" = "Media salvato da %@.";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "screenshot_taken" = "%@ ha acquisito uno screenshot.";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "SEARCH_SECTION_CONTACTS" = "Contatti e Gruppi";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "SEARCH_SECTION_MESSAGES" = "Messaggi";
"modal_call_permission_request_title" = "Call Permissions Required"; "SEARCH_SECTION_RECENT" = "Recenti";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "ultimo messaggio: %@";
"MESSAGE_REQUESTS_TITLE" = "Richieste Di Messaggio";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "Nessuna richiesta aperta";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Cancella tutto";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Eliminare veramente tutte le richieste di messaggio?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Cancella";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Sei sicuro di voler eliminare questa richiesta di messaggio?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "Si è verificato un errore durante il tentativo di accettare questa richiesta di messaggio";
"MESSAGE_REQUESTS_INFO" = "L'invio di un messaggio a questo utente accetterà automaticamente la richiesta di messaggio.";
"MESSAGE_REQUESTS_ACCEPTED" = "La tua richiesta di messaggio è stata accettata.";
"MESSAGE_REQUESTS_NOTIFICATION" = "Hai una nuova richiesta di messaggio";
"TXT_HIDE_TITLE" = "Nascondi";
"TXT_DELETE_ACCEPT" = "Accetta";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Gruppo Aperto";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Messaggio Privato";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Gruppo Chiuso";
"modal_call_permission_request_title" = "Permessi Di Chiamata Richiesti";
"modal_call_permission_request_explanation" = "È possibile abilitare l'autorizzazione 'Voce e video chiamate' nelle Impostazioni Privacy.";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later";

View File

@ -29,21 +29,21 @@
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "画像を変換できません。"; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "画像を変換できません。";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "動画を処理できません"; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "動画を処理できませんでした";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "画像をパースできません。"; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "画像の解析に失敗しました。";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "画像からメタデータを消去できませんでした。"; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "画像からメタデータを消去できませんでした。";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "画像のサイズを変できません。"; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "画像のサイズを変できません。";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "添付ファイルが大きすぎます。"; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "添付ファイルが大きすぎます。";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "添付ファイルが無効です。"; "ATTACHMENT_ERROR_INVALID_DATA" = "添付ファイルに無効なコンテンツが含まれています。";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "添付ファイルのフォーマットが不正です。"; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "添付ファイルに無効なファイル形式があります";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "添付ファイルの中身が空です"; "ATTACHMENT_ERROR_MISSING_DATA" = "添付ファイルの中身が空です";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "ドキュメントの選択に失敗しました"; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "ドキュメントの選択に失敗しました";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -85,7 +85,7 @@
/* Label for the backup restore description. */ /* Label for the backup restore description. */
"BACKUP_RESTORE_DESCRIPTION" = "バックアップから修復中"; "BACKUP_RESTORE_DESCRIPTION" = "バックアップから修復中";
/* Label for the backup restore progress. */ /* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "進"; "BACKUP_RESTORE_PROGRESS" = "進行状況";
/* Label for the backup restore status. */ /* Label for the backup restore status. */
"BACKUP_RESTORE_STATUS" = "状態"; "BACKUP_RESTORE_STATUS" = "状態";
/* Error shown when backup fails due to an unexpected error. */ /* Error shown when backup fails due to an unexpected error. */
@ -94,7 +94,7 @@
"BLOCK_LIST_BLOCK_BUTTON" = "ブロックする"; "BLOCK_LIST_BLOCK_BUTTON" = "ブロックする";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "%@ をブロックしますか?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "%@ をブロックしますか?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "%@のブロックを解除しますか?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "%@のブロックを解除しますか?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "ブロックを解除する"; "BLOCK_LIST_UNBLOCK_BUTTON" = "ブロックを解除する";
@ -103,7 +103,7 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "ユーザがブロックされました"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "ユーザがブロックされました";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ のブロックは解除されています。"; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@のブロックを解除しました";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "既存のメンバーは、あなたをグループに再加入させることができます。"; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "既存のメンバーは、あなたをグループに再加入させることができます。";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "リンクプレビューを送る"; "SETTINGS_LINK_PREVIEWS" = "リンクプレビューを送る";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "プレビューはImgur、Instagram、Pinterest、RedditおよびYouTubeリンクをサポートしています。"; "SETTINGS_LINK_PREVIEWS_FOOTER" = "ほとんどのURLでプレビューをサポートしています。";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "リンクプレビュー"; "SETTINGS_LINK_PREVIEWS_HEADER" = "リンクプレビュー";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "音声とビデオ通話";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "他のユーザーからの音声通話やビデオ通話を受け入れることができます.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "通話";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知内容"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知内容";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -473,7 +479,7 @@
"vc_seed_title" = "あなたのリカバリーフレーズ"; "vc_seed_title" = "あなたのリカバリーフレーズ";
"vc_seed_title_2" = "リカバリーフレーズに合致する"; "vc_seed_title_2" = "リカバリーフレーズに合致する";
"vc_seed_explanation" = "リカバリーフレーズは、Session ID のマスターキーです。端末にアクセスできなくなった場合、これを使用して Session ID を復元できます。リカバリーフレーズを安全な場所に保管し、誰にも教えないでください。"; "vc_seed_explanation" = "リカバリーフレーズは、Session ID のマスターキーです。端末にアクセスできなくなった場合、これを使用して Session ID を復元できます。リカバリーフレーズを安全な場所に保管し、誰にも教えないでください。";
"vc_seed_reveal_button_title" = "明らかにする"; "vc_seed_reveal_button_title" = "ホールドして表示";
"view_seed_reminder_subtitle_1" = "リカバリーフレーズを保存してアカウントを保護する"; "view_seed_reminder_subtitle_1" = "リカバリーフレーズを保存してアカウントを保護する";
"view_seed_reminder_subtitle_2" = "編集された単語をタップして長押ししてリカバリーフレーズを表示し、それを安全に保管して Session ID を保護します。"; "view_seed_reminder_subtitle_2" = "編集された単語をタップして長押ししてリカバリーフレーズを表示し、それを安全に保管して Session ID を保護します。";
"view_seed_reminder_subtitle_3" = "リカバリーフレーズは安全な場所に保管してください"; "view_seed_reminder_subtitle_3" = "リカバリーフレーズは安全な場所に保管してください";
@ -508,21 +514,21 @@
"vc_settings_display_name_missing_error" = "表示名を選択してください"; "vc_settings_display_name_missing_error" = "表示名を選択してください";
"vc_settings_display_name_too_long_error" = "短い表示名を選択してください"; "vc_settings_display_name_too_long_error" = "短い表示名を選択してください";
"vc_settings_privacy_button_title" = "プライバシー"; "vc_settings_privacy_button_title" = "プライバシー";
"vc_settings_notifications_button_title" = "お知らせ"; "vc_settings_notifications_button_title" = "通知";
"vc_settings_recovery_phrase_button_title" = "リカバリーフレーズ"; "vc_settings_recovery_phrase_button_title" = "リカバリーフレーズ";
"vc_settings_clear_all_data_button_title" = "データを消去する"; "vc_settings_clear_all_data_button_title" = "データを消去する";
"vc_notification_settings_title" = "お知らせ"; "vc_notification_settings_title" = "通知";
"vc_privacy_settings_title" = "プライバシー"; "vc_privacy_settings_title" = "プライバシー";
"preferences_notifications_strategy_category_title" = "通知戦略"; "preferences_notifications_strategy_category_title" = "通知戦略";
"modal_seed_title" = "あなたのリカバリーフレーズ"; "modal_seed_title" = "あなたのリカバリーフレーズ";
"modal_seed_explanation" = "これはあなたのリカバリーフレーズです。これにより、Session ID を新しい端末に復元または移行できます。"; "modal_seed_explanation" = "これはあなたのリカバリーフレーズです。これにより、Session ID を新しい端末に復元または移行できます。";
"modal_clear_all_data_title" = "すべてのデータを消去する"; "modal_clear_all_data_title" = "すべてのデータを消去する";
"modal_clear_all_data_explanation" = "これにより、メッセージ、Session、連絡先が完全に削除されます。"; "modal_clear_all_data_explanation" = "これにより、メッセージ、Session、連絡先が完全に削除されます。";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "この端末のみから消去するか、すべての端末からアカウント全体を削除しますか?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "このサービスードからデータが削除されませんでした。ID: %@";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "%@ つのサービスードからデータが削除されませんでした。ID %@";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "この端末のみ";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "アカウント全体";
"vc_qr_code_title" = "QR コード"; "vc_qr_code_title" = "QR コード";
"vc_qr_code_view_my_qr_code_tab_title" = "私の QR コードを表示する"; "vc_qr_code_view_my_qr_code_tab_title" = "私の QR コードを表示する";
"vc_qr_code_view_scan_qr_code_tab_title" = "QR コードをスキャンする"; "vc_qr_code_view_scan_qr_code_tab_title" = "QR コードをスキャンする";
@ -555,73 +561,93 @@
"modal_open_url_title" = "URLを開きますか"; "modal_open_url_title" = "URLを開きますか";
"modal_open_url_explanation" = "%@を本当に開いてもよろしいですか?"; "modal_open_url_explanation" = "%@を本当に開いてもよろしいですか?";
"modal_open_url_button_title" = "開く"; "modal_open_url_button_title" = "開く";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "リンクをコピーする";
"modal_blocked_title" = "%@のブロックを解除しますか?"; "modal_blocked_title" = "%@のブロックを解除しますか?";
"modal_blocked_explanation" = "%@のブロックを解除してもよろしいですか?"; "modal_blocked_explanation" = "%@のブロックを解除してもよろしいですか?";
"modal_blocked_button_title" = "ブロックを解除する"; "modal_blocked_button_title" = "ブロックを解除する";
"modal_link_previews_title" = "リンクプレビューを有効にしますか?"; "modal_link_previews_title" = "リンクプレビューを有効にしますか?";
"modal_link_previews_explanation" = "リンクプレビューを有効すると、URLを送受信する場合にプレビューが表示されます。これは便利ですが、プレビューを作成するのにSessionはそのウェブサイトに接続する必要があります。Sessionの設定から、リンクプレビューをいつでも無効にできます。"; "modal_link_previews_explanation" = "リンクプレビューを有効すると、URLを送受信する場合にプレビューが表示されます。これは便利ですが、プレビューを作成するのにSessionはそのウェブサイトに接続する必要があります。Sessionの設定から、リンクプレビューをいつでも無効にできます。";
"modal_link_previews_button_title" = "有効にする"; "modal_link_previews_button_title" = "有効にする";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "音声とビデオ通話";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "現在の音声/ビデオ通話の実装では、あなたのIPアドレスがOxen Foundationサーバー及び通話/着信先に表示されます。";
"modal_share_logs_title" = "ログを共有";
"modal_share_logs_explanation" = "アプリケーションログをエクスポートしてトラブルシューティングのために共有しますか?";
"vc_share_title" = "Sessionと共有"; "vc_share_title" = "Sessionと共有";
"vc_share_loading_message" = "添付ファイルを準備しています..."; "vc_share_loading_message" = "添付ファイルを準備しています...";
"vc_share_sending_message" = "送信中…"; "vc_share_sending_message" = "送信中…";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "セキュアでないリンクのプレビューは読み込めません";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "プレビューを読み込めません";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "リンクのプレビューが無効です";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "リンクプレビューを有効すると、URLを送受信する場合にプレビューが表示されます。これは便利ですが、プレビューを作成するのにSessionはそのウェブサイトに接続する必要があります。Sessionの設定から、リンクプレビューをいつでも無効にできます。";
"view_open_group_invitation_description" = "公開グループからの招待"; "view_open_group_invitation_description" = "公開グループからの招待";
"vc_conversation_settings_invite_button_title" = "メンバーを追加する"; "vc_conversation_settings_invite_button_title" = "メンバーを追加する";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "よくある質問";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "フィードバック / アンケート";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "デバッグログ";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "警告";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "これはあなたの復元フレーズです。もし誰かに送信すると、あなたのアカウントにフルアクセスできます。";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "送信";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "メンションのみ";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "有効にすると、あなたに言及するメッセージのみが通知されます。";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "メンションのみを通知する";
"message_deleted" = "This message has been deleted"; "message_deleted" = "このメッセージは削除されました";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "自分の端末から削除";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "全員の端末から削除";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "自分と %@ の端末から削除する";
"context_menu_reply" = "Reply"; "context_menu_reply" = "返信";
"context_menu_save" = "Save"; "context_menu_save" = "保存";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "ユーザーをBAN";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "BANしてすべてを削除する";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "添付ファイルを追加";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "ドキュメント";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "写真を選択";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "カメラ";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "添付ファイルのオプションを閉じる";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "無効な復元フレーズ";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "無効な復元フレーズ";
"DISMISS_BUTTON_TEXT" = "中止";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "設定";
"voice_call" = "Voice Call"; "call_outgoing" = "%@ に発信";
"video_call" = "Video Call"; "call_incoming" = "%@から着信";
"APN_Message" = "You've got a new message"; "call_missed" = "%@からの不在着信";
"system_mode_theme" = "System"; "call_rejected" = "着信拒否";
"dark_mode_theme" = "Dark"; "call_cancelled" = "キャンセルした通話";
"light_mode_theme" = "Light"; "call_timeout" = "不在着信";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "音声通話";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "ビデオ通話";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "新しいメッセージがあります。";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "%@ 件の新規メッセージがあります。";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "システム";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "ダーク";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "ライト";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "ピン留め";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "ピン留めを外す";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "通話できません";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "プライバシー設定で「音声通話とビデオ通話」を許可していないため、%@から着信できませんでした。";
"TXT_DELETE_ACCEPT" = "Accept"; "meida_saved" = "%@ によって保存されたメディア";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "screenshot_taken" = "%@はスクリーンショットを撮りました。";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "SEARCH_SECTION_CONTACTS" = "連絡先とグループ";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "SEARCH_SECTION_MESSAGES" = "メッセージ";
"modal_call_permission_request_title" = "Call Permissions Required"; "SEARCH_SECTION_RECENT" = "最近";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "最後のメッセージ: %@";
"MESSAGE_REQUESTS_TITLE" = "メッセージリクエスト";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "保留しているリクエストはありません";
"MESSAGE_REQUESTS_CLEAR_ALL" = "すべて消去";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "本当に全てのリクエストを消去しますか?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "消去";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "本当にこのリクエストを削除しますか?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "リクエスト承認時にエラーが発生しました";
"MESSAGE_REQUESTS_INFO" = "このユーザーにメッセージを送信すると、自動的にリクエストが承認されます。";
"MESSAGE_REQUESTS_ACCEPTED" = "リクエストが承認されました";
"MESSAGE_REQUESTS_NOTIFICATION" = "新しいリクエストがあります";
"TXT_HIDE_TITLE" = "非表示";
"TXT_DELETE_ACCEPT" = "許可";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "公開グループ";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "ダイレクトメッセージ";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "非公開グループ";
"modal_call_permission_request_title" = "許可が必要です";
"modal_call_permission_request_explanation" = "プライバシー設定から音声とビデオ通話の許可を有効にできます。";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later";

View File

@ -27,21 +27,21 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Versturen bijlage mislukt"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Versturen bijlage mislukt";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Kan afbeelding niet naar JPEG converteren."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Afbeelding converteren mislukt.";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Kan video niet verwerken."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video converteren mislukt.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Kan afbeelding niet verwerken."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Afbeelding verwerken mislukt.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Kan metagegevens niet uit afbeelding verwijderen."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Metadata van afbeelding verwijderen mislukt.";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Afbeelding verkleinen mislukt."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Aanpassen formaat afbeelding mislukt.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Bijlage is te groot."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Bijlage is te groot.";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Bijlage bevat inhoud die niet wordt ondersteund of niet correct is geformatteerd."; "ATTACHMENT_ERROR_INVALID_DATA" = "Bijlage bevat ongeldige inhoud.";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Bijlage is een bestandstype welke niet wordt ondersteund."; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Bijlage heeft een ongeldig bestandsformaat.";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Bijlage is leeg."; "ATTACHMENT_ERROR_MISSING_DATA" = "Bijlage is leeg.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
@ -93,11 +93,11 @@
/* Button label for the 'block' button */ /* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Blokkeren"; "BLOCK_LIST_BLOCK_BUTTON" = "Blokkeren";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "%@ blokkeren?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Blokkeer %@?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "%@ deblokkeren?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Deblokkeer %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Deblokkeren"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Blokkering opheffen";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ is geblokkeerd."; "BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ is geblokkeerd.";
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Naamloze Album"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Naamloze Album";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Markeer als gelezen";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Antwoord";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "We kunnen uw account pas activeren nadat u de code die we u hebben gestuurd verifieert."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "We kunnen uw account pas activeren nadat u de code die we u hebben gestuurd verifieert.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Link Previews verzenden"; "SETTINGS_LINK_PREVIEWS" = "Link Previews verzenden";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Voorbeelden worden ondersteund van Imgur, Instagram, Pinterest Reddit, en YouTube links."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Voorvertoningen worden ondersteund voor de meeste urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link voorbeelden"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Link voorbeelden";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Spraak- en video-oproepen";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Sta toegang toe tot het accepteren van spraak- en video-oproepen van andere gebruikers.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Bellen";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notificatie Inhoud"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notificatie Inhoud";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Dit is uw herstel zin, Hiermee kun je je sessie-ID herstellen of migreren naar een nieuw apparaat."; "modal_seed_explanation" = "Dit is uw herstel zin, Hiermee kun je je sessie-ID herstellen of migreren naar een nieuw apparaat.";
"modal_clear_all_data_title" = "Wis alle gegevens"; "modal_clear_all_data_title" = "Wis alle gegevens";
"modal_clear_all_data_explanation" = "Hiermee worden uw berichten, sessies en contacten permanent verwijderd."; "modal_clear_all_data_explanation" = "Hiermee worden uw berichten, sessies en contacten permanent verwijderd.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Wilt u alleen de data op dit apparaat verwijderen, of wilt u uw hele account verwijderen?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Gegevens niet verwijderd door 1 Service Node. Service Node ID: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Gegevens niet verwijderd door %@ Service Nodes. Service Node IDs: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Alleen apparaat";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Gehele account";
"vc_qr_code_title" = "QR-code"; "vc_qr_code_title" = "QR-code";
"vc_qr_code_view_my_qr_code_tab_title" = "Bekijk mijn QR-code"; "vc_qr_code_view_my_qr_code_tab_title" = "Bekijk mijn QR-code";
"vc_qr_code_view_scan_qr_code_tab_title" = "QR-code scannen"; "vc_qr_code_view_scan_qr_code_tab_title" = "QR-code scannen";
@ -555,15 +561,17 @@
"modal_open_url_title" = "URL openen?"; "modal_open_url_title" = "URL openen?";
"modal_open_url_explanation" = "Weet u zeker dat u %@ wilt openen?"; "modal_open_url_explanation" = "Weet u zeker dat u %@ wilt openen?";
"modal_open_url_button_title" = "Openen"; "modal_open_url_button_title" = "Openen";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Kopieer link";
"modal_blocked_title" = "Blokkering opheffen voor %@?"; "modal_blocked_title" = "Blokkering opheffen voor %@?";
"modal_blocked_explanation" = "Weet je zeker dat je %@ weer wilt toelaten?"; "modal_blocked_explanation" = "Weet je zeker dat je %@ weer wilt toelaten?";
"modal_blocked_button_title" = "Deblokkeren"; "modal_blocked_button_title" = "Deblokkeren";
"modal_link_previews_title" = "Linkvoorbeeld inschakelen?"; "modal_link_previews_title" = "Linkvoorbeeld inschakelen?";
"modal_link_previews_explanation" = "Link previews inschakelen zal previews tonen voor URLs die u verstuurt en ontvangt. Dit kan nuttig zijn, maar Session moet contact opnemen met gekoppelde websites om previews te genereren. U kunt links altijd uitschakelen in de Sessions-instellingen."; "modal_link_previews_explanation" = "Link previews inschakelen zal previews tonen voor URLs die u verstuurt en ontvangt. Dit kan nuttig zijn, maar Session moet contact opnemen met gekoppelde websites om previews te genereren. U kunt links altijd uitschakelen in de Sessions-instellingen.";
"modal_link_previews_button_title" = "Inschakelen"; "modal_link_previews_button_title" = "Inschakelen";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Spraak / video-oproepen";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "De huidige implementatie van spraak / video-oproepen zal uw IP-adres blootstellen aan de Oxen Foundation servers en de bel/gebelde gebruiker.";
"modal_share_logs_title" = "Deel logs";
"modal_share_logs_explanation" = "Wil je je applicatie logboeken exporteren om te kunnen delen bij het oplossen van problemen?";
"vc_share_title" = "Delen naar de Session"; "vc_share_title" = "Delen naar de Session";
"vc_share_loading_message" = "Bijlagen voorbereiden..."; "vc_share_loading_message" = "Bijlagen voorbereiden...";
"vc_share_sending_message" = "Aan het verzenden..."; "vc_share_sending_message" = "Aan het verzenden...";
@ -573,39 +581,57 @@
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Open groepsuitnodiging"; "view_open_group_invitation_description" = "Open groepsuitnodiging";
"vc_conversation_settings_invite_button_title" = "Voeg deelnemers toe"; "vc_conversation_settings_invite_button_title" = "Voeg deelnemers toe";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Veelgestelde vragen (FAQ)";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Tips / Vragen";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Foutopsporingslogboek";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Waarschuwing";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Dit is je herstelzin. Als je het naar iemand stuurt hebben ze volledige toegang tot je account.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Verzenden";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Alleen melding bij vermeldingen";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Wanneer ingeschakeld, wordt u alleen op de hoogte gesteld voor berichten die u vermelden.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Melding alleen voor vermeldingen";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Dit bericht is verwijderd";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Verwijder alleen voor mij";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Verwijder voor iedereen";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Verwijderen voor mij en %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Antwoord";
"context_menu_save" = "Save"; "context_menu_save" = "Opslaan";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Gebruiker verbannen";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Blokkeer en verwijder alles";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Bijlage toevoegen";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Document";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Fotobibliotheek";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Bijlage-opties inklappen";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Ongeldig Herstelzin";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Ongeldig Herstelzin";
"DISMISS_BUTTON_TEXT" = "Negeren";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Instellingen";
"voice_call" = "Voice Call"; "call_outgoing" = "Je belde %@";
"video_call" = "Video Call"; "call_incoming" = "%@ heeft je gebeld";
"APN_Message" = "You've got a new message"; "call_missed" = "Gemiste oproep van %@";
"system_mode_theme" = "System"; "call_rejected" = "Gesprek afwijzen";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Oproep geannuleerd";
"light_mode_theme" = "Light"; "call_timeout" = "Onbeantwoorde oproep";
"voice_call" = "Spraak gesprek";
"video_call" = "Videogesprek";
"APN_Message" = "Je hebt een nieuw bericht.";
"APN_Collapsed_Messages" = "Je hebt een %@ nieuw bericht.";
"system_mode_theme" = "Systeem";
"dark_mode_theme" = "Donker";
"light_mode_theme" = "Licht";
"PIN_BUTTON_TEXT" = "Vastzetten";
"UNPIN_BUTTON_TEXT" = "Losmaken";
"modal_call_missed_tips_title" = "Oproep gemist";
"modal_call_missed_tips_explanation" = "Oproep gemist van '%@' omdat je de 'Spraak- en video-oproep' permissie nodig hebt in de privacy-instellingen.";
"meida_saved" = "Media opgeslagen door %@.";
"screenshot_taken" = "%@ heeft een schermafbeelding genomen.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -94,7 +94,7 @@
"BLOCK_LIST_BLOCK_BUTTON" = "Zablokuj"; "BLOCK_LIST_BLOCK_BUTTON" = "Zablokuj";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Zablokować %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Zablokować %@?";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Odblokować %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Odblokować %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Odblokuj"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Odblokuj";
@ -103,7 +103,7 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Użytkownik zablokowany"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Użytkownik zablokowany";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "Odblokowano %@."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ został odblokowany.";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Istniejący członkowie mogą teraz ponownie dodać Cię do grupy."; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Istniejący członkowie mogą teraz ponownie dodać Cię do grupy.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Podgląd linków"; "SETTINGS_LINK_PREVIEWS" = "Podgląd linków";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Podgląd jest dostepny dla linków z Imgur, Instagram, Pinterest, Reddit, i YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Podgląd jest obsługiwany dla większości adresów url.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Podgląd linków"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Podgląd linków";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Połączenia głosowe i wideo";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Zezwól na dostęp do akceptowania połączeń głosowych i wideo od innych użytkowników.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Połączenia";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Treść powiadomień"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Treść powiadomień";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -555,73 +561,93 @@
"modal_open_url_title" = "Otworzyć URL?"; "modal_open_url_title" = "Otworzyć URL?";
"modal_open_url_explanation" = "Czy na pewno chcesz otworzyć %@?"; "modal_open_url_explanation" = "Czy na pewno chcesz otworzyć %@?";
"modal_open_url_button_title" = "Otwórz"; "modal_open_url_button_title" = "Otwórz";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Kopiuj odnośnik";
"modal_blocked_title" = "Odblokować %@?"; "modal_blocked_title" = "Odblokować %@?";
"modal_blocked_explanation" = "Czy na pewno chcesz odblokować %@?"; "modal_blocked_explanation" = "Czy na pewno chcesz odblokować %@?";
"modal_blocked_button_title" = "Odblokuj"; "modal_blocked_button_title" = "Odblokuj";
"modal_link_previews_title" = "Włączyć podgląd linków?"; "modal_link_previews_title" = "Włączyć podgląd linków?";
"modal_link_previews_explanation" = "Włączanie podglądów linków wyświetli podgląd dla adresów URL które wysyłasz i otrzymujesz. Może to być użyteczne, ale Session będzie musiał się połączyć ze stronami których linki wysyłasz aby wygenerować podgląd. Możesz zawsze wyłączyć podgląd linków w ustawieniach Session."; "modal_link_previews_explanation" = "Włączanie podglądów linków wyświetli podgląd dla adresów URL które wysyłasz i otrzymujesz. Może to być użyteczne, ale Session będzie musiał się połączyć ze stronami których linki wysyłasz aby wygenerować podgląd. Możesz zawsze wyłączyć podgląd linków w ustawieniach Session.";
"modal_link_previews_button_title" = "Włącz"; "modal_link_previews_button_title" = "Włącz";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Połączenia głosowe / wideo";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Obecna implementacja połączeń głosowych/wideo wyświetli Twój adres IP na serwerach Fundacji Oxen i użytkownikowi do którego dzwonisz/dzwoni.";
"modal_share_logs_title" = "Wyślij Log";
"modal_share_logs_explanation" = "Czy chcesz wyeksportować logi aplikacji, aby móc je udostępniać do rozwiązywania problemów?";
"vc_share_title" = "Udostępnij w Session"; "vc_share_title" = "Udostępnij w Session";
"vc_share_loading_message" = "Przygotowywanie załączników..."; "vc_share_loading_message" = "Przygotowywanie załączników...";
"vc_share_sending_message" = "Wysyłanie..."; "vc_share_sending_message" = "Wysyłanie...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Podgląd nie jest załadowany dla niezabezpieczonego linku";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Nie można załadować podglądu";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Podgląd linków wyłączony";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Włączanie podglądów linków wyświetli podgląd dla adresów URL, które udostępniasz. Może to być użyteczne, ale Session będzie musiał się połączyć, z których stronami linki wysyłasz, aby wygenerować podgląd. \n\nMożesz włączyć podgląd linków w ustawieniach Session.";
"view_open_group_invitation_description" = "Otwórz zaproszenie do grupy"; "view_open_group_invitation_description" = "Otwórz zaproszenie do grupy";
"vc_conversation_settings_invite_button_title" = "Dodaj użytkowników"; "vc_conversation_settings_invite_button_title" = "Dodaj użytkowników";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Opinia / Ankieta";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Dziennik logów";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Uwaga";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "To jest Twoja fraza odzyskiwania. Jeśli wyślesz ją do kogoś, będzie miał pełny dostęp do Twojego konta.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Wyślij";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Powiadom tylko o wzmiankach";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Gdy włączone, będzie wysyłane powiadomienie tylko o wiadomościach które wspominają ciebie.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Powiadomienie tylko o wzmiankach";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Ta wiadomość została usunięta";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Usuń tylko dla mnie";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Usuń dla wszystkich";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Usuń dla mnie i %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Odpowiedz";
"context_menu_save" = "Save"; "context_menu_save" = "Zapisz";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Zbanuj użytkownika";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Zbanuj i usuń wszystko";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Dodaj załączniki";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Dokument";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Galeria zdjęć";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Aparat";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Zwiń opcje załączników";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Nieprawidłowa fraza odzyskiwania";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Nieprawidłowa fraza odzyskiwania";
"DISMISS_BUTTON_TEXT" = "Odrzuć";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Ustawienia";
"voice_call" = "Voice Call"; "call_outgoing" = "Zadzwoniłeś/aś do %@";
"video_call" = "Video Call"; "call_incoming" = "Użytkownik %@ dzwonił";
"APN_Message" = "You've got a new message"; "call_missed" = "Nieodebrane połączenie od %@";
"call_rejected" = "Odrzucone połączenie";
"call_cancelled" = "Połączenie anulowane";
"call_timeout" = "Nieodebrane połączenie";
"voice_call" = "Połączenia głosowe";
"video_call" = "Wideo rozmowa";
"APN_Message" = "Masz nową wiadomość";
"APN_Collapsed_Messages" = "Masz %@ nowych wiadomości.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Ciemny";
"light_mode_theme" = "Light"; "light_mode_theme" = "Jasny";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "PIN_BUTTON_TEXT" = "Przypnij";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "UNPIN_BUTTON_TEXT" = "Odepnij";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "modal_call_missed_tips_title" = "Połączenie nieodebrane";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "modal_call_missed_tips_explanation" = "Połączenie nieodebrane od '%@' ponieważ musisz włączyć uprawnienie 'Połączenia głosowe i wideo' w Ustawieniach Prywatności.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "meida_saved" = "Media zapisane przez %@.";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "screenshot_taken" = "%@ wykonał zrzut ekranu.";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "SEARCH_SECTION_CONTACTS" = "Kontakty i grupy";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "SEARCH_SECTION_MESSAGES" = "Wiadomości";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "SEARCH_SECTION_RECENT" = "Ostatnie";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "ostatnia wiadomość: %@";
"TXT_HIDE_TITLE" = "Hide"; "MESSAGE_REQUESTS_TITLE" = "Żądania wiadomości";
"TXT_DELETE_ACCEPT" = "Accept"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "Brak oczekujących żądań wiadomości";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Wyczyść wszystko";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Czy na pewno chcesz wyczyścić wszystkie żądania wiadomości?";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Wyczyść";
"modal_call_permission_request_title" = "Call Permissions Required"; "MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Czy na pewno chcesz usunąć to żądanie wiadomości?";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "Wystąpił błąd podczas próby zaakceptowania tego żądania wiadomości";
"MESSAGE_REQUESTS_INFO" = "Wysyłanie wiadomości do tego użytkownika automatycznie zaakceptuje ich żądanie wiadomości.";
"MESSAGE_REQUESTS_ACCEPTED" = "Twoje żądanie wiadomości zostało zaakceptowane.";
"MESSAGE_REQUESTS_NOTIFICATION" = "Masz nowe żądanie wiadomości";
"TXT_HIDE_TITLE" = "Ukryj";
"TXT_DELETE_ACCEPT" = "Zaakceptuj";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Otwórz grupę";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Wiadomość prywatna";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Zamknięta Grupa";
"modal_call_permission_request_title" = "Wymagane uprawnienia połączenia";
"modal_call_permission_request_explanation" = "Możesz włączyć uprawnienie 'Połączenia głosowe i wideo' w Ustawieniach Prywatności.";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later";

View File

@ -27,13 +27,13 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Erro ao Enviar Anexo"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Erro ao Enviar Anexo";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Impossível converter imagem."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Não foi possível capturar a imagem.";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Não foi possível processar o vídeo."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Não foi possível processar o vídeo.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Não foi possível analisar a imagem."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Não foi possível analisar a imagem.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Não foi possível suprimir os metadados da imagem."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Não é possível remover os metadados da imagem.";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Impossível redimensionar imagem."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Impossível redimensionar imagem.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Álbum sem nome"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Álbum sem nome";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Marcar como Lido";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Responder";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Não podemos ativar sua conta até que você verifique o código que enviamos."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Não podemos ativar sua conta até que você verifique o código que enviamos.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Enviar pré-visualizações de links"; "SETTINGS_LINK_PREVIEWS" = "Enviar pré-visualizações de links";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Pré-visualizações de links suportadas para Imgur, Instagram, Pinterest, Reddit e YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Pré-visualizações são suportadas para a maioria do urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Pré-visualizações de links"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Pré-visualizações de links";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Chamadas de voz e vídeo";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Permitir acesso para aceitar ligações de voz e vídeo de outros usuários.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Chamadas";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Conteúdo de Notificação"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Conteúdo de Notificação";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Esta é sua frase de recuperação. Com ela, você pode restaurar ou migrar seu ID Session para um novo dispositivo."; "modal_seed_explanation" = "Esta é sua frase de recuperação. Com ela, você pode restaurar ou migrar seu ID Session para um novo dispositivo.";
"modal_clear_all_data_title" = "Limpar todos os dados"; "modal_clear_all_data_title" = "Limpar todos os dados";
"modal_clear_all_data_explanation" = "Isso excluirá permanentemente suas mensagens, sessões e contatos."; "modal_clear_all_data_explanation" = "Isso excluirá permanentemente suas mensagens, sessões e contatos.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Você gostaria de limpar apenas esse dispositivo, ou deletar sua conta?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Dados não excluídos por 1 Service Node. ID do Service Node: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Dados não excluídos por %@ Service Nodes. IDs dos Service Nodes: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Somente esse dispositivo";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Conta inteira";
"vc_qr_code_title" = "Código QR"; "vc_qr_code_title" = "Código QR";
"vc_qr_code_view_my_qr_code_tab_title" = "Ver meu código QR"; "vc_qr_code_view_my_qr_code_tab_title" = "Ver meu código QR";
"vc_qr_code_view_scan_qr_code_tab_title" = "Escanear código QR"; "vc_qr_code_view_scan_qr_code_tab_title" = "Escanear código QR";
@ -555,15 +561,17 @@
"modal_open_url_title" = "Abrir URL?"; "modal_open_url_title" = "Abrir URL?";
"modal_open_url_explanation" = "Você tem certeza que deseja abrir %@/?"; "modal_open_url_explanation" = "Você tem certeza que deseja abrir %@/?";
"modal_open_url_button_title" = "Abrir"; "modal_open_url_button_title" = "Abrir";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Copiar link";
"modal_blocked_title" = "Desbloquear %@?"; "modal_blocked_title" = "Desbloquear %@?";
"modal_blocked_explanation" = "Você tem certeza que deseja desbloquear %@?"; "modal_blocked_explanation" = "Você tem certeza que deseja desbloquear %@?";
"modal_blocked_button_title" = "Desbloquear"; "modal_blocked_button_title" = "Desbloquear";
"modal_link_previews_title" = "Ativar pré-visualizações de link?"; "modal_link_previews_title" = "Ativar pré-visualizações de link?";
"modal_link_previews_explanation" = "Ativar a pré-visualização de links irá mostrar as URLs que você receber e enviar. Isto pode ser útil, o Session precisa se conectar aos sites vinculados gerar as prévias. Você poderá desabiliatar esta opção nas configurações do Session."; "modal_link_previews_explanation" = "Ativar a pré-visualização de links irá mostrar as URLs que você receber e enviar. Isto pode ser útil, o Session precisa se conectar aos sites vinculados gerar as prévias. Você poderá desabiliatar esta opção nas configurações do Session.";
"modal_link_previews_button_title" = "Ativar"; "modal_link_previews_button_title" = "Ativar";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Chamadas de voz / vídeo";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "A implementação atual das chamadas de voz / vídeo irá expor seu endereço IP aos servidores da Oxen Foundation e ao usuário chamado chamador.";
"modal_share_logs_title" = "Compartilhar logs";
"modal_share_logs_explanation" = "Você deseja exportar os logs do aplicativo para nos ajudar a resolver esse problema?";
"vc_share_title" = "Compartilhar no Session"; "vc_share_title" = "Compartilhar no Session";
"vc_share_loading_message" = "Preparando anexos..."; "vc_share_loading_message" = "Preparando anexos...";
"vc_share_sending_message" = "Enviando..."; "vc_share_sending_message" = "Enviando...";
@ -573,39 +581,57 @@
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Convite para grupo aberto"; "view_open_group_invitation_description" = "Convite para grupo aberto";
"vc_conversation_settings_invite_button_title" = "Adicionar Membros"; "vc_conversation_settings_invite_button_title" = "Adicionar Membros";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Perguntas Frequentes";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Pesquisa";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Logs de depuração";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Aviso";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Essa é sua frase de recuperação. Se você mandá-la para alguem, essa pessoa terá acesso completo a sua conta.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Enviar";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notificar apenas menções";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Quando ativo, você só receberá notificações quando alguém mencionar você.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Apenas notifcar quando mencionado";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Essa mensagem foi deletada";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Apagar para mim";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Apagar para todos";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Apagar para mim e para %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Responder";
"context_menu_save" = "Save"; "context_menu_save" = "Salvar";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Banir Usuário";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Banir e Apagar Tudo";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Adicionar anexos";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Documento";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Biblioteca de Fotos";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Câmera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Recolher opções de anexo";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Frase de Recuperação inválida";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Frase de Recuperação inválida";
"DISMISS_BUTTON_TEXT" = "Ignorar";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Configurações";
"voice_call" = "Voice Call"; "call_outgoing" = "Você ligou para %@";
"video_call" = "Video Call"; "call_incoming" = "%@ Ligou para você";
"APN_Message" = "You've got a new message"; "call_missed" = "Ligação perdida de %@";
"system_mode_theme" = "System"; "call_rejected" = "Ligação rejeitada";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Ligação cancelada";
"light_mode_theme" = "Light"; "call_timeout" = "Ligação não atendida";
"voice_call" = "Chamada de voz";
"video_call" = "Chamada de vídeo";
"APN_Message" = "Você recebem uma nova mensagem.";
"APN_Collapsed_Messages" = "Você tem %@ novas mensagens.";
"system_mode_theme" = "Sistema";
"dark_mode_theme" = "Escuro";
"light_mode_theme" = "Claro";
"PIN_BUTTON_TEXT" = "Fixar";
"UNPIN_BUTTON_TEXT" = "Desfixar";
"modal_call_missed_tips_title" = "Chamada perdida";
"modal_call_missed_tips_explanation" = "Chamada perdida de '%@', você precisa habilitar a permissão de 'Voz e Video' nas configurações de Privacidade.";
"meida_saved" = "Mídia salva por %@.";
"screenshot_taken" = "%@ fez uma captura de tela.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -27,23 +27,23 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Ошибка отправки вложения"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Ошибка отправки вложения";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error 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 message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Unable to process video."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Невозможно обработать видео.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error 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 message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Unable to remove metadata from image."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Не удается удалить метаданные из изображения.";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error 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 message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Attachment is too large."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Вложение слишком большое.";
/* Attachment error message for attachments with invalid data */ /* 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 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 message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Attachment is empty."; "ATTACHMENT_ERROR_MISSING_DATA" = "Вложение без содержимого.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Не удалось выбрать документ."; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Не удалось выбрать документ.";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -105,7 +105,7 @@
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ был(-a) разблокирован(-a)."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ был(-a) разблокирован(-a).";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Теперь участники группы могут снова добавить вас в группу."; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "Существующие члены группы теперь могут снова вас добавить.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Заблокированные пользователи не смогут звонить или отправлять сообщения Вам."; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Заблокированные пользователи не смогут звонить или отправлять сообщения Вам.";
/* Label for generic done button. */ /* Label for generic done button. */
@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Безымянный альбом"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Безымянный альбом";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Отметить как прочтенное";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Ответить";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Невозможно активировать аккаунт до подтверждения отправленного вам кода."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Невозможно активировать аккаунт до подтверждения отправленного вам кода.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Отправлять предпросмотр ссылки"; "SETTINGS_LINK_PREVIEWS" = "Отправлять предпросмотр ссылки";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Предварительный просмотр поддерживается для ссылок Imgur, Instagram, Pinterest, Reddit и YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Предпросмотр поддерживается для большинства ссылок.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Предпросмотры ссылок"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Предпросмотры ссылок";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Голосовые и видео вызовы";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Разрешить принимать голосовые и видео вызовы от других пользователей.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Вызовы";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Содержимое уведомления"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Содержимое уведомления";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -472,7 +478,7 @@
"vc_home_empty_state_button_title" = "Начать Сессию"; "vc_home_empty_state_button_title" = "Начать Сессию";
"vc_seed_title" = "Ваша секретная фраза для восстановления"; "vc_seed_title" = "Ваша секретная фраза для восстановления";
"vc_seed_title_2" = "А вот и ваша секретная фраза для восстановления"; "vc_seed_title_2" = "А вот и ваша секретная фраза для восстановления";
"vc_seed_explanation" = "Ваша секретная фраза является главным ключом к вашему Session ID. Вы можете использовать ее для восстановления Session ID, если потеряете доступ к своему устройству. Сохраните свою секретную фразу в безопасном месте, и никому её не передавайте."; "vc_seed_explanation" = "Ваша фраза восстановления является главным ключом к вашему Session ID. Храните свою фразу восстановления в надежном месте и никому ее не передавайте.";
"vc_seed_reveal_button_title" = "Удерживайте, чтобы показать"; "vc_seed_reveal_button_title" = "Удерживайте, чтобы показать";
"view_seed_reminder_subtitle_1" = "Защитите свой аккаунт, сохранив секретную фразу"; "view_seed_reminder_subtitle_1" = "Защитите свой аккаунт, сохранив секретную фразу";
"view_seed_reminder_subtitle_2" = "Нажмите и удерживайте сокращенные слова, чтобы открыть секретную фразу, а затем сохраните ее в надежном месте, чтобы защитить свой Session ID."; "view_seed_reminder_subtitle_2" = "Нажмите и удерживайте сокращенные слова, чтобы открыть секретную фразу, а затем сохраните ее в надежном месте, чтобы защитить свой Session ID.";
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Это ваша секретная фраза. С ее помощью вы можете восстановить или перенести свой Session ID на новое устройство."; "modal_seed_explanation" = "Это ваша секретная фраза. С ее помощью вы можете восстановить или перенести свой Session ID на новое устройство.";
"modal_clear_all_data_title" = "Очистить все данные"; "modal_clear_all_data_title" = "Очистить все данные";
"modal_clear_all_data_explanation" = "Это навсегда удалит ваши сообщения, сессии и контакты."; "modal_clear_all_data_explanation" = "Это навсегда удалит ваши сообщения, сессии и контакты.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Вы хотите очистить только это устройство или полностью удалить ваш аккаунт?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Данные не удалены 1 узлом сервиса. Номер узла: %@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Данные не удалены %@ узлами сервиса. Номера узлов: %@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Только устройство";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Полностью аккаунт";
"vc_qr_code_title" = "QR-код"; "vc_qr_code_title" = "QR-код";
"vc_qr_code_view_my_qr_code_tab_title" = "Посмотреть мой QR-код"; "vc_qr_code_view_my_qr_code_tab_title" = "Посмотреть мой QR-код";
"vc_qr_code_view_scan_qr_code_tab_title" = "Сканировать QR-код"; "vc_qr_code_view_scan_qr_code_tab_title" = "Сканировать QR-код";
@ -555,68 +561,88 @@
"modal_open_url_title" = "Открыть ссылку?"; "modal_open_url_title" = "Открыть ссылку?";
"modal_open_url_explanation" = "Вы уверены, что хотите открыть %@?"; "modal_open_url_explanation" = "Вы уверены, что хотите открыть %@?";
"modal_open_url_button_title" = "Открыть"; "modal_open_url_button_title" = "Открыть";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Копировать ссылку";
"modal_blocked_title" = "Разблокировать %@?"; "modal_blocked_title" = "Разблокировать %@?";
"modal_blocked_explanation" = "Вы уверены, что хотите разблокировать %@?"; "modal_blocked_explanation" = "Вы уверены, что хотите разблокировать %@?";
"modal_blocked_button_title" = "Разблокировать"; "modal_blocked_button_title" = "Разблокировать";
"modal_link_previews_title" = "Включить предварительный просмотр ссылок?"; "modal_link_previews_title" = "Включить предварительный просмотр ссылок?";
"modal_link_previews_explanation" = "Включение предпросмотра ссылок покажет превью для отправляемых и получаемых ссылок. Это может быть полезно, но Session нужно будет соединиться с сайтами, связанными с ссылками, чтобы сгенерировать предпросмотр. Вы всегда можете отключить предпросмотр ссылок в настройках Session."; "modal_link_previews_explanation" = "Включение предпросмотра ссылок покажет превью для отправляемых и получаемых ссылок. Это может быть полезно, но Session нужно будет соединиться с сайтами, связанными с ссылками, чтобы сгенерировать предпросмотр. Вы всегда можете отключить предпросмотр ссылок в настройках Session.";
"modal_link_previews_button_title" = "Включить"; "modal_link_previews_button_title" = "Включить";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Голосовые / видео вызовы";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Текущая реализация голосовых / видео вызовов предоставит ваш IP-адрес серверам Oxen Foundation и вызывающему / вызываемому пользователю.";
"modal_share_logs_title" = "Отправить журнал";
"modal_share_logs_explanation" = "Вы хотите экспортировать журналы приложения, чтобы иметь возможность поделиться ими для устранения неполадок?";
"vc_share_title" = "Поделиться в Session"; "vc_share_title" = "Поделиться в Session";
"vc_share_loading_message" = "Подготовка вложений..."; "vc_share_loading_message" = "Подготовка вложений...";
"vc_share_sending_message" = "Отправка..."; "vc_share_sending_message" = "Отправка...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Предпросмотр не загружен для небезопасных ссылок";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Невозможно загрузить предпросмотр";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Ссылка предпросмотра выключена";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Открыть приглашение в группу"; "view_open_group_invitation_description" = "Открыть приглашение в группу";
"vc_conversation_settings_invite_button_title" = "Добавить участников"; "vc_conversation_settings_invite_button_title" = "Добавить участников";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Часто задаваемые вопросы";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Обратная связь / Опрос";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Журнал отладки";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Предупреждение";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Это ваша фраза для восстановления. Если вы отправите ее кому-то, он получит полный доступ к вашей учетной записи.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Отправить";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Уведомлять только об упоминаниях";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Когда включено, вы будете уведомлены только о сообщениях, упоминающих вас.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Уведомления только для упоминаний";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Это сообщение было удалено";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Удалить только для меня";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Удалить для всех";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Удалить для меня и %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Ответить";
"context_menu_save" = "Save"; "context_menu_save" = "Сохранить";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Заблокировать пользователя";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Забанить и удалить все";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Добавить вложения";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Документ";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Библиотека фотографий";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Камера";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Свернуть параметры вложений";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Неверная секретная фраза";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Неверная секретная фраза";
"DISMISS_BUTTON_TEXT" = "Закрыть";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Настройки";
"voice_call" = "Voice Call"; "call_outgoing" = "Вы позвонили %@";
"video_call" = "Video Call"; "call_incoming" = "%@ звонил(а) вам";
"APN_Message" = "You've got a new message"; "call_missed" = "Пропущенный звонок от %@";
"system_mode_theme" = "System"; "call_rejected" = "Отклоненный вызов";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Отмененный вызов";
"light_mode_theme" = "Light"; "call_timeout" = "Пропущенные вызовы";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "Голосовой вызов";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "Видеовызов";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "Вы получили новое сообщение";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "Вы получили %@ новых сообщений.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "Системная";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "Темная";
"light_mode_theme" = "Светлая";
"PIN_BUTTON_TEXT" = "Закрепить";
"UNPIN_BUTTON_TEXT" = "Открепить";
"modal_call_missed_tips_title" = "Пропущен вызов";
"modal_call_missed_tips_explanation" = "Вызов от '%@' пропущен, вам необходимо включить разрешение 'Голосовые и видео вызовы' в настройках Конфиденциальности.";
"meida_saved" = "%@ сохранил(а) медиафайл.";
"screenshot_taken" = "%@ сделал(а) снимок экрана.";
"SEARCH_SECTION_CONTACTS" = "Контакты и группы";
"SEARCH_SECTION_MESSAGES" = "Сообщения";
"SEARCH_SECTION_RECENT" = "Недавние";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "последнее сообщение: %@";
"MESSAGE_REQUESTS_TITLE" = "Запросы Сообщений";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "Нет ожидающих запросов";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Очистить всё";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Вы уверены, что хотите очистить все запросы сообщений?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Очистить";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Вы уверены, что хотите удалить это сообщение?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request.";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted.";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request";
"TXT_HIDE_TITLE" = "Hide"; "TXT_HIDE_TITLE" = "Скрыть";
"TXT_DELETE_ACCEPT" = "Accept"; "TXT_DELETE_ACCEPT" = "Accept";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message";

View File

@ -1,13 +1,13 @@
/* Label for the 'dismiss' button in the 'new app version available' alert. */ /* Label for the 'dismiss' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Not Now"; "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "දැන් නොවේ";
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ is now available in the App Store."; "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ is now available in the App Store.";
/* Title for the 'new app version available' alert. */ /* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Session Is Available"; "APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Session Is Available";
/* Label for the 'update' button in the 'new app version available' alert. */ /* Label for the 'update' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Update"; "APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "යාවත්කාල";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"ATTACHMENT" = "Attachment"; "ATTACHMENT" = "ඇමුණුම";
/* One-line label indicating the user can add no more text to the attachment caption. */ /* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached."; "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached.";
/* placeholder text for an empty captioning field */ /* placeholder text for an empty captioning field */
@ -15,15 +15,15 @@
/* Title for 'caption' mode of the attachment approval view. */ /* Title for 'caption' mode of the attachment approval view. */
"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption"; "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption";
/* Format string for file extension label in call interstitial view */ /* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "File type: %@"; "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "ගොනුවේ වර්ගය: %@";
/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */
"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Size: %@"; "ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "ප්‍රමාණය: %@";
/* One-line label indicating the user can add no more text to the media message field. */ /* One-line label indicating the user can add no more text to the media message field. */
"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Message limit reached"; "ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Message limit reached";
/* Label for 'send' button in the 'attachment approval' dialog. */ /* Label for 'send' button in the 'attachment approval' dialog. */
"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Send"; "ATTACHMENT_APPROVAL_SEND_BUTTON" = "යවන්න";
/* Generic filename for an attachment with no known name */ /* Generic filename for an attachment with no known name */
"ATTACHMENT_DEFAULT_FILENAME" = "Attachment"; "ATTACHMENT_DEFAULT_FILENAME" = "ඇමුණුම";
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Error Sending Attachment"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Error Sending Attachment";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
@ -49,7 +49,7 @@
/* Alert body when picking a document fails because user picked a directory/bundle */ /* 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" = "Please create a compressed archive of this file or directory and try sending that instead.";
/* Alert title when picking a document fails because user picked a directory/bundle */ /* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Unsupported File"; "ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "සහාය නොදක්වන ගොනුවකි";
/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ /* Short text label for a voice message attachment, used for thread preview and on the lock screen */
"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Voice Message"; "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Voice Message";
/* Error indicating the backup export could not export the user's data. */ /* Error indicating the backup export could not export the user's data. */
@ -61,17 +61,17 @@
/* Indicates that the backup export is being configured. */ /* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup"; "BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup";
/* Indicates that the database data is being exported. */ /* Indicates that the database data is being exported. */
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Exporting Data"; "BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "දත්ත නිර්යාත වෙමින්";
/* Indicates that the backup export data is being exported. */ /* Indicates that the backup export data is being exported. */
"BACKUP_EXPORT_PHASE_EXPORT" = "Exporting Backup"; "BACKUP_EXPORT_PHASE_EXPORT" = "උපස්ථය නිර්යාත වෙමින්";
/* Indicates that the backup export data is being uploaded. */ /* Indicates that the backup export data is being uploaded. */
"BACKUP_EXPORT_PHASE_UPLOAD" = "Uploading Backup"; "BACKUP_EXPORT_PHASE_UPLOAD" = "Uploading Backup";
/* Error indicating the backup import could not import the user's data. */ /* Error indicating the backup import could not import the user's data. */
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported."; "BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported.";
/* Indicates that the backup import is being configured. */ /* Indicates that the backup import is being configured. */
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Configuring Backup"; "BACKUP_IMPORT_PHASE_CONFIGURATION" = "උපස්ථය වින්‍යාසගත වෙමින්";
/* Indicates that the backup import data is being downloaded. */ /* Indicates that the backup import data is being downloaded. */
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Downloading Backup Data"; "BACKUP_IMPORT_PHASE_DOWNLOAD" = "උපස්ථ දත්ත බාගැනෙමින්";
/* Indicates that the backup import data is being finalized. */ /* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup"; "BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup";
/* Indicates that the backup import data is being imported. */ /* Indicates that the backup import data is being imported. */
@ -87,11 +87,11 @@
/* Label for the backup restore progress. */ /* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "Progress"; "BACKUP_RESTORE_PROGRESS" = "Progress";
/* Label for the backup restore status. */ /* Label for the backup restore status. */
"BACKUP_RESTORE_STATUS" = "Status"; "BACKUP_RESTORE_STATUS" = "තත්වය";
/* Error shown when backup fails due to an unexpected error. */ /* Error shown when backup fails due to an unexpected error. */
"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error"; "BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error";
/* Button label for the 'block' button */ /* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Block"; "BLOCK_LIST_BLOCK_BUTTON" = "අවහිර";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Block %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Block %@?";
/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
@ -103,7 +103,7 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "User Blocked"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "User Blocked";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "Oseba %@ je bila odblokirana"; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked.";
/* Alert body after unblocking a group. */ /* 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" = "Existing members can now add you to the group again.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
@ -173,17 +173,17 @@
/* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */ /* Format string for a relative time, expressed as a certain number of minutes in the past. Embeds {{The number of minutes}}. */
"DATE_MINUTES_AGO_FORMAT" = "%@ Min Ago"; "DATE_MINUTES_AGO_FORMAT" = "%@ Min Ago";
/* The present; the current time. */ /* The present; the current time. */
"DATE_NOW" = "Now"; "DATE_NOW" = "දැන්";
/* The current day. */ /* The current day. */
"DATE_TODAY" = "Today"; "DATE_TODAY" = "අද";
/* The day before today. */ /* The day before today. */
"DATE_YESTERDAY" = "Yesterday"; "DATE_YESTERDAY" = "ඊයේ";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "Disappearing Messages"; "DISAPPEARING_MESSAGES" = "Disappearing Messages";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */ /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Messages in this conversation will disappear after %@."; "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "Messages in this conversation will disappear after %@.";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"EDIT_GROUP_ACTION" = "Edit Group"; "EDIT_GROUP_ACTION" = "සමූහය සංස්කරණය";
/* Label indicating media gallery is empty */ /* Label indicating media gallery is empty */
"GALLERY_TILES_EMPTY_GALLERY" = "You don't have any media in this conversation."; "GALLERY_TILES_EMPTY_GALLERY" = "You don't have any media in this conversation.";
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
@ -201,13 +201,13 @@
/* Indicates that an error occurred while searching. */ /* Indicates that an error occurred while searching. */
"GIF_VIEW_SEARCH_ERROR" = "Error. Tap to Retry."; "GIF_VIEW_SEARCH_ERROR" = "Error. Tap to Retry.";
/* Indicates that the user's search had no results. */ /* Indicates that the user's search had no results. */
"GIF_VIEW_SEARCH_NO_RESULTS" = "No Results."; "GIF_VIEW_SEARCH_NO_RESULTS" = "ප්‍රතිඵල නැත.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_CREATED" = "Group created"; "GROUP_CREATED" = "Group created";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_JOINED" = " %@ joined the group. "; "GROUP_MEMBER_JOINED" = " %@ joined the group. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_LEFT" = " %@ left the group. "; "GROUP_MEMBER_LEFT" = " %@ සමූහය හැරගියා. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_REMOVED" = " %@ was removed from the group. "; "GROUP_MEMBER_REMOVED" = " %@ was removed from the group. ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -229,13 +229,13 @@
/* Slider label when disappearing messages is off */ /* Slider label when disappearing messages is off */
"KEEP_MESSAGES_FOREVER" = "Messages do not disappear."; "KEEP_MESSAGES_FOREVER" = "Messages do not disappear.";
/* Confirmation button within contextual alert */ /* Confirmation button within contextual alert */
"LEAVE_BUTTON_TITLE" = "Leave"; "LEAVE_BUTTON_TITLE" = "හැරයන්න";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"LEAVE_GROUP_ACTION" = "Leave Group"; "LEAVE_GROUP_ACTION" = "සමූහය හැරයන්න";
/* Title for the 'long text message' view. */ /* Title for the 'long text message' view. */
"LONG_TEXT_VIEW_TITLE" = "Message"; "LONG_TEXT_VIEW_TITLE" = "පණිවිඩය";
/* nav bar button item */ /* nav bar button item */
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "All Media"; "MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "සියළුම මාධ්‍යය";
/* media picker option to choose from library */ /* media picker option to choose from library */
"MEDIA_FROM_LIBRARY_BUTTON" = "Photo Library"; "MEDIA_FROM_LIBRARY_BUTTON" = "Photo Library";
/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ /* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */
@ -247,9 +247,9 @@
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ /* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; "MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
/* Short sender label for media sent by you */ /* Short sender label for media sent by you */
"MEDIA_GALLERY_SENDER_NAME_YOU" = "You"; "MEDIA_GALLERY_SENDER_NAME_YOU" = "ඔබ";
/* Section header in media gallery collection view */ /* Section header in media gallery collection view */
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "This Month"; "MEDIA_GALLERY_THIS_MONTH_HEADER" = "මෙම මාසය";
/* message status for message delivered to their recipient. */ /* message status for message delivered to their recipient. */
"MESSAGE_STATUS_DELIVERED" = "Delivered"; "MESSAGE_STATUS_DELIVERED" = "Delivered";
/* status message for failed messages */ /* status message for failed messages */
@ -283,15 +283,15 @@
/* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */ /* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */
"NOTIFICATIONS_SECTION_INAPP" = "Play While App is Open"; "NOTIFICATIONS_SECTION_INAPP" = "Play While App is Open";
/* Label for settings UI that allows user to change the notification sound. */ /* Label for settings UI that allows user to change the notification sound. */
"NOTIFICATIONS_SECTION_SOUNDS" = "Sounds"; "NOTIFICATIONS_SECTION_SOUNDS" = "ශබ්ද";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SENDER_AND_MESSAGE" = "Name and Content"; "NOTIFICATIONS_SENDER_AND_MESSAGE" = "නම සහ අන්තර්ගතය";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SENDER_ONLY" = "Name Only"; "NOTIFICATIONS_SENDER_ONLY" = "නම පමණි";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_NONE" = "No Name or Content"; "NOTIFICATIONS_NONE" = "නමක් හෝ අන්තර්ගතයක් නැත";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SHOW" = "Show"; "NOTIFICATIONS_SHOW" = "පෙන්වන්න";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"BUTTON_OK" = "OK"; "BUTTON_OK" = "OK";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
@ -309,11 +309,11 @@
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Mark as Read";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "පිළිතුරු";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "We can't activate your account until you verify the code we sent you."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "We can't activate your account until you verify the code we sent you.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Instant"; "SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "ක්ෂණික";
/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ /* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session."; "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session.";
/* Title for alert indicating that screen lock could not be unlocked. */ /* Title for alert indicating that screen lock could not be unlocked. */
@ -351,11 +351,11 @@
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PROGRESS" = "Progress"; "SETTINGS_BACKUP_PROGRESS" = "Progress";
/* Label for backup status row in the in the backup settings view. */ /* Label for backup status row in the in the backup settings view. */
"SETTINGS_BACKUP_STATUS" = "Status"; "SETTINGS_BACKUP_STATUS" = "තත්වය";
/* Indicates that the last backup failed. */ /* Indicates that the last backup failed. */
"SETTINGS_BACKUP_STATUS_FAILED" = "Backup Failed"; "SETTINGS_BACKUP_STATUS_FAILED" = "Backup Failed";
/* Indicates that app is not backing up. */ /* Indicates that app is not backing up. */
"SETTINGS_BACKUP_STATUS_IDLE" = "Waiting"; "SETTINGS_BACKUP_STATUS_IDLE" = "රැඳෙමින්";
/* Indicates that app is backing up. */ /* Indicates that app is backing up. */
"SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Backing Up"; "SETTINGS_BACKUP_STATUS_IN_PROGRESS" = "Backing Up";
/* Indicates that the last backup succeeded. */ /* Indicates that the last backup succeeded. */
@ -367,63 +367,69 @@
/* Section header */ /* Section header */
"SETTINGS_HISTORYLOG_TITLE" = "Clear Conversation History"; "SETTINGS_HISTORYLOG_TITLE" = "Clear Conversation History";
/* Label for settings view that allows user to change the notification sound. */ /* Label for settings view that allows user to change the notification sound. */
"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Message Sound"; "SETTINGS_ITEM_NOTIFICATION_SOUND" = "පණිවිඩ ශබ්දය";
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Send Link Previews"; "SETTINGS_LINK_PREVIEWS" = "සබැඳියේ පෙරදසුන් යවන්න";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; "SETTINGS_LINK_PREVIEWS_HEADER" = "සබැඳි පෙරදසුන්";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Voice and video calls";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "දැනුම්දීමේ අන්තර්ගතය";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
"SETTINGS_READ_RECEIPT" = "Read Receipts"; "SETTINGS_READ_RECEIPT" = "කියවූ බවට ලදුපත්";
/* An explanation of the 'read receipts' setting. */ /* An explanation of the 'read receipts' setting. */
"SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "See and share when messages have been read. This setting is optional and applies to all conversations."; "SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "See and share when messages have been read. This setting is optional and applies to all conversations.";
/* Label for the 'screen lock activity timeout' setting of the privacy settings. */ /* Label for the 'screen lock activity timeout' setting of the privacy settings. */
"SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Screen Lock Timeout"; "SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Screen Lock Timeout";
/* Title for the 'screen lock' section of the privacy settings. */ /* Title for the 'screen lock' section of the privacy settings. */
"SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "Screen Lock"; "SETTINGS_SCREEN_LOCK_SECTION_TITLE" = "තිර අගුල";
/* Label for the 'enable screen lock' switch of the privacy settings. */ /* Label for the 'enable screen lock' switch of the privacy settings. */
"SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "Screen Lock"; "SETTINGS_SCREEN_LOCK_SWITCH_LABEL" = "තිර අගුල";
/* Header Label for the sounds section of settings views. */ /* Header Label for the sounds section of settings views. */
"SETTINGS_SECTION_SOUNDS" = "Sounds"; "SETTINGS_SECTION_SOUNDS" = "ශබ්ද";
/* Section header */ /* Section header */
"SETTINGS_SECURITY_TITLE" = "Screen Security"; "SETTINGS_SECURITY_TITLE" = "තිරයේ ආරක්ෂාව";
/* Label for the 'typing indicators' setting. */ /* Label for the 'typing indicators' setting. */
"SETTINGS_TYPING_INDICATORS" = "Typing Indicators"; "SETTINGS_TYPING_INDICATORS" = "Typing Indicators";
/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ /* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */
"SOUNDS_NONE" = "None"; "SOUNDS_NONE" = "None";
/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ /* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS" = "%@ days"; "TIME_AMOUNT_DAYS" = "දවස් %@";
/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d"; "TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d";
/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ /* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS" = "%@ hours"; "TIME_AMOUNT_HOURS" = "පැය %@";
/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h"; "TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h";
/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ /* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_MINUTES" = "%@ minutes"; "TIME_AMOUNT_MINUTES" = "විනාඩි %@";
/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@m"; "TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@m";
/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ /* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS" = "%@ seconds"; "TIME_AMOUNT_SECONDS" = "තත්පර %@";
/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s"; "TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s";
/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ /* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_DAY" = "%@ day"; "TIME_AMOUNT_SINGLE_DAY" = "දවස් %@";
/* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ /* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_HOUR" = "%@ hour"; "TIME_AMOUNT_SINGLE_HOUR" = "පැය %@";
/* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */ /* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_MINUTE" = "%@ minute"; "TIME_AMOUNT_SINGLE_MINUTE" = "විනාඩි %@";
/* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */ /* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_SINGLE_WEEK" = "%@ week"; "TIME_AMOUNT_SINGLE_WEEK" = "සති %@";
/* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ /* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_WEEKS" = "%@ weeks"; "TIME_AMOUNT_WEEKS" = "සති %@";
/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ /* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */
"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@w"; "TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@w";
/* Label for the cancel button in an alert or action sheet. */ /* Label for the cancel button in an alert or action sheet. */
"TXT_CANCEL_TITLE" = "Cancel"; "TXT_CANCEL_TITLE" = "අවලංගු";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"TXT_DELETE_TITLE" = "Delete"; "TXT_DELETE_TITLE" = "Delete";
/* Filename for voice messages. */ /* Filename for voice messages. */
@ -437,24 +443,24 @@
/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "You set disappearing message time to %@"; "YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "You set disappearing message time to %@";
// MARK: - Session // MARK: - Session
"continue_2" = "Continue"; "continue_2" = "ඉදිරියට";
"copy" = "Copy"; "copy" = "පිටපත්";
"invalid_url" = "Invalid URL"; "invalid_url" = "ඒ.ස.නි. වලංගු නොවේ";
"next" = "Next"; "next" = "ඊළඟ";
"share" = "Share"; "share" = "බෙදාගන්න";
"invalid_session_id" = "Invalid Session ID"; "invalid_session_id" = "Invalid Session ID";
"cancel" = "Cancel"; "cancel" = "අවලංගු";
"your_session_id" = "Your Session ID"; "your_session_id" = "Your Session ID";
"vc_landing_title_2" = "Your Session begins here..."; "vc_landing_title_2" = "Your Session begins here...";
"vc_landing_register_button_title" = "Create Session ID"; "vc_landing_register_button_title" = "Create Session ID";
"vc_landing_restore_button_title" = "Continue Your Session"; "vc_landing_restore_button_title" = "Continue Your Session";
"vc_landing_link_button_title" = "Link a Device"; "vc_landing_link_button_title" = "Link a Device";
"view_fake_chat_bubble_1" = "What's Session?"; "view_fake_chat_bubble_1" = "සෙෂන් යනු කුමක්ද?";
"view_fake_chat_bubble_2" = "It's a decentralized, encrypted messaging app"; "view_fake_chat_bubble_2" = "It's a decentralized, encrypted messaging app";
"view_fake_chat_bubble_3" = "So it doesn't collect my personal information or my conversation metadata? How does it work?"; "view_fake_chat_bubble_3" = "So it doesn't collect my personal information or my conversation metadata? How does it work?";
"view_fake_chat_bubble_4" = "Using a combination of advanced anonymous routing and end-to-end encryption technologies."; "view_fake_chat_bubble_4" = "Using a combination of advanced anonymous routing and end-to-end encryption technologies.";
"view_fake_chat_bubble_5" = "Friends don't let friends use compromised messengers. You're welcome."; "view_fake_chat_bubble_5" = "Friends don't let friends use compromised messengers. You're welcome.";
"vc_register_title" = "Say hello to your Session ID"; "vc_register_title" = "ඔබගේ සෙෂන් හැඳු. ආයුබෝවන් කියන්න";
"vc_register_explanation" = "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design."; "vc_register_explanation" = "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design.";
"vc_restore_title" = "Restore your account"; "vc_restore_title" = "Restore your account";
"vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account."; "vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account.";
@ -466,7 +472,7 @@
"vc_display_name_text_field_hint" = "Enter a display name"; "vc_display_name_text_field_hint" = "Enter a display name";
"vc_display_name_display_name_missing_error" = "Please pick a display name"; "vc_display_name_display_name_missing_error" = "Please pick a display name";
"vc_display_name_display_name_too_long_error" = "Please pick a shorter display name"; "vc_display_name_display_name_too_long_error" = "Please pick a shorter display name";
"vc_pn_mode_recommended_option_tag" = "Recommended"; "vc_pn_mode_recommended_option_tag" = "නිර්දේශිතයි";
"vc_pn_mode_no_option_picked_modal_title" = "Please Pick an Option"; "vc_pn_mode_no_option_picked_modal_title" = "Please Pick an Option";
"vc_home_empty_state_message" = "You don't have any contacts yet"; "vc_home_empty_state_message" = "You don't have any contacts yet";
"vc_home_empty_state_button_title" = "Start a Session"; "vc_home_empty_state_button_title" = "Start a Session";
@ -479,7 +485,7 @@
"view_seed_reminder_subtitle_3" = "Make sure to store your recovery phrase in a safe place"; "view_seed_reminder_subtitle_3" = "Make sure to store your recovery phrase in a safe place";
"vc_path_title" = "Path"; "vc_path_title" = "Path";
"vc_path_explanation" = "Session hides your IP by routing your messages through multiple Service Nodes in Session's decentralized network. These are the countries your connection is currently being routed through:"; "vc_path_explanation" = "Session hides your IP by routing your messages through multiple Service Nodes in Session's decentralized network. These are the countries your connection is currently being routed through:";
"vc_path_device_row_title" = "You"; "vc_path_device_row_title" = "ඔබ";
"vc_path_guard_node_row_title" = "Entry Node"; "vc_path_guard_node_row_title" = "Entry Node";
"vc_path_service_node_row_title" = "Service Node"; "vc_path_service_node_row_title" = "Service Node";
"vc_path_destination_row_title" = "Destination"; "vc_path_destination_row_title" = "Destination";
@ -503,16 +509,16 @@
"vc_join_public_chat_scan_qr_code_tab_title" = "Scan QR Code"; "vc_join_public_chat_scan_qr_code_tab_title" = "Scan QR Code";
"vc_join_public_chat_scan_qr_code_explanation" = "Scan the QR code of the open group you'd like to join"; "vc_join_public_chat_scan_qr_code_explanation" = "Scan the QR code of the open group you'd like to join";
"vc_enter_chat_url_text_field_hint" = "Enter an open group URL"; "vc_enter_chat_url_text_field_hint" = "Enter an open group URL";
"vc_settings_title" = "Settings"; "vc_settings_title" = "සැකසුම්";
"vc_settings_display_name_text_field_hint" = "Enter a display name"; "vc_settings_display_name_text_field_hint" = "Enter a display name";
"vc_settings_display_name_missing_error" = "Please pick a display name"; "vc_settings_display_name_missing_error" = "Please pick a display name";
"vc_settings_display_name_too_long_error" = "Please pick a shorter display name"; "vc_settings_display_name_too_long_error" = "Please pick a shorter display name";
"vc_settings_privacy_button_title" = "Privacy"; "vc_settings_privacy_button_title" = "පෞද්ගලිකත්වය";
"vc_settings_notifications_button_title" = "Notifications"; "vc_settings_notifications_button_title" = "දැනුම්දීම්";
"vc_settings_recovery_phrase_button_title" = "Recovery Phrase"; "vc_settings_recovery_phrase_button_title" = "Recovery Phrase";
"vc_settings_clear_all_data_button_title" = "Clear Data"; "vc_settings_clear_all_data_button_title" = "Clear Data";
"vc_notification_settings_title" = "Notifications"; "vc_notification_settings_title" = "දැනුම්දීම්";
"vc_privacy_settings_title" = "Privacy"; "vc_privacy_settings_title" = "පෞද්ගලිකත්වය";
"preferences_notifications_strategy_category_title" = "Notification Strategy"; "preferences_notifications_strategy_category_title" = "Notification Strategy";
"modal_seed_title" = "Your Recovery Phrase"; "modal_seed_title" = "Your Recovery Phrase";
"modal_seed_explanation" = "This is your recovery phrase. With it, you can restore or migrate your Session ID to a new device."; "modal_seed_explanation" = "This is your recovery phrase. With it, you can restore or migrate your Session ID to a new device.";
@ -533,52 +539,54 @@
"fast_mode" = "Fast Mode"; "fast_mode" = "Fast Mode";
"slow_mode_explanation" = "Session will occasionally check for new messages in the background."; "slow_mode_explanation" = "Session will occasionally check for new messages in the background.";
"slow_mode" = "Slow Mode"; "slow_mode" = "Slow Mode";
"vc_pn_mode_title" = "Message Notifications"; "vc_pn_mode_title" = "පණිවිඩ දැනුම්දීම්";
"vc_notification_settings_notification_mode_title" = "Use Fast Mode"; "vc_notification_settings_notification_mode_title" = "Use Fast Mode";
"vc_link_device_recovery_phrase_tab_title" = "Recovery Phrase"; "vc_link_device_recovery_phrase_tab_title" = "Recovery Phrase";
"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; "vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code.";
"vc_enter_recovery_phrase_title" = "Recovery Phrase"; "vc_enter_recovery_phrase_title" = "Recovery Phrase";
"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; "vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up.";
"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; "vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name";
"vc_home_title" = "Messages"; "vc_home_title" = "පණිවිඩ";
"admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone."; "admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone.";
"vc_join_open_group_suggestions_title" = "Or join one of these..."; "vc_join_open_group_suggestions_title" = "Or join one of these...";
"vc_settings_invite_a_friend_button_title" = "Invite a Friend"; "vc_settings_invite_a_friend_button_title" = "Invite a Friend";
"vc_settings_help_us_translate_button_title" = "Help us Translate Session"; "vc_settings_help_us_translate_button_title" = "Help us Translate Session";
"copied" = "Copied"; "copied" = "පිටපත් විය";
"vc_conversation_settings_copy_session_id_button_title" = "Copy Session ID"; "vc_conversation_settings_copy_session_id_button_title" = "Copy Session ID";
"vc_conversation_input_prompt" = "Message"; "vc_conversation_input_prompt" = "පණිවිඩය";
"vc_conversation_voice_message_cancel_message" = "Slide to Cancel"; "vc_conversation_voice_message_cancel_message" = "Slide to Cancel";
"modal_download_attachment_title" = "Trust %@?"; "modal_download_attachment_title" = "%@ විශ්වාස ද?";
"modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?"; "modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?";
"modal_download_button_title" = "Download"; "modal_download_button_title" = "බාගන්න";
"modal_open_url_title" = "Open URL?"; "modal_open_url_title" = "ඒ.ස.නි. විවෘත?";
"modal_open_url_explanation" = "Are you sure you want to open %@?"; "modal_open_url_explanation" = "Are you sure you want to open %@?";
"modal_open_url_button_title" = "Open"; "modal_open_url_button_title" = "විවෘත";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "සබැඳිය පිටපත්";
"modal_blocked_title" = "Unblock %@?"; "modal_blocked_title" = "%@ අනවහිර?";
"modal_blocked_explanation" = "Are you sure you want to unblock %@?"; "modal_blocked_explanation" = "Are you sure you want to unblock %@?";
"modal_blocked_button_title" = "Unblock"; "modal_blocked_button_title" = "අනවහිර";
"modal_link_previews_title" = "Enable Link Previews?"; "modal_link_previews_title" = "Enable Link Previews?";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings.";
"modal_link_previews_button_title" = "Enable"; "modal_link_previews_button_title" = "සබල කරන්න";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "Share to Session"; "vc_share_title" = "සෙෂන් වෙත බෙදාගන්න";
"vc_share_loading_message" = "Preparing attachments..."; "vc_share_loading_message" = "Preparing attachments...";
"vc_share_sending_message" = "Sending..."; "vc_share_sending_message" = "යැවෙමින්...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Unable to load preview";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Link Previews Disabled";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "Open group invitation"; "view_open_group_invitation_description" = "Open group invitation";
"vc_conversation_settings_invite_button_title" = "Add Members"; "vc_conversation_settings_invite_button_title" = "සාමාජිකයින් එක්කරන්න";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "නිති පැණ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Survey";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Debug Log";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "අවවාදයයි";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "යවන්න";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only";
@ -586,26 +594,44 @@
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Delete just for me";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Delete for everyone";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Delete for me and %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "පිළිතුරු";
"context_menu_save" = "Save"; "context_menu_save" = "සුරකින්න";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Ban User";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Ban and Delete All";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "ඇමුණුම් එක්කරන්න";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "ලේඛනය";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Photo library";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "සැකසුම්";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -27,23 +27,23 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Chyba pri posielaní prílohy"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Chyba pri posielaní prílohy";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Obrázok sa nepodarilo skonvertovať."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Obrázok nie je možné konvertovať.";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video sa nepodarilo spracovať."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Video nie je možné spracovať.";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Obrázok sa nepodarilo spracovať."; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Obrázok nie je možné spracovať.";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Z obrázku sa nepodarilo odstrániť metadáta."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Nie je možné z obrázku odstrániť metadáta.";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Nepodarilo sa zmeniť veľkosť obrázka."; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Nie je možné zmeniť rozmer obrázku.";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Príloha je priliš veľká."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Príloha je priveľká.";
/* Attachment error message for attachments with invalid data */ /* Attachment error message for attachments with invalid data */
"ATTACHMENT_ERROR_INVALID_DATA" = "Príloha obsahuje neplatný obsah."; "ATTACHMENT_ERROR_INVALID_DATA" = "Príloha obsahuje neplatné prvky.";
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Príloha má neplatný formát súboru."; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Príloha má neplatný typ súboru.";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Príloha je prázdna."; "ATTACHMENT_ERROR_MISSING_DATA" = "Príloha neobsahuje žiadne údaje.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Nepodarilo sa vybrať dokument."; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Nepodarilo sa vybrať dokument.";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -89,39 +89,39 @@
/* Label for the backup restore status. */ /* Label for the backup restore status. */
"BACKUP_RESTORE_STATUS" = "Stav"; "BACKUP_RESTORE_STATUS" = "Stav";
/* Error shown when backup fails due to an unexpected error. */ /* Error shown when backup fails due to an unexpected error. */
"BACKUP_UNEXPECTED_ERROR" = "Neočakávaná chyba zálohovania"; "BACKUP_UNEXPECTED_ERROR" = "Nečakaná Chyba Zálohy";
/* Button label for the 'block' button */ /* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Blokovať"; "BLOCK_LIST_BLOCK_BUTTON" = "Blokovať";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Blokovať %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Zablokovať %@?";
/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Unblock %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Odblokovať %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Odblokovať"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Odblokovať";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ bol/a zablokovaný/á."; "BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ bol/a zablokovaný/á.";
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Používateľ blokovaný"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Používateľ Zablokovaný";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ bol/a odblokovaný/á.";
/* Alert body after unblocking a group. */ /* 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" = "Súčasný členovia skupiny vás teraz už môžu znova pridať.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Blokovaný používateľ vám nebude mocť volať ani posielať správy."; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Zablokovaný používatelia vám nebudú môcť zavolať ani posielať správy.";
/* Label for generic done button. */ /* Label for generic done button. */
"BUTTON_DONE" = "Hotovo"; "BUTTON_DONE" = "Hotovo";
/* Button text to enable batch selection mode */ /* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Vyberte"; "BUTTON_SELECT" = "Vybrať";
/* The label for the 'do not restore backup' button. */ /* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Neobnoviť"; "CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Neobnovovať";
/* The label for the 'restore backup' button. */ /* The label for the 'restore backup' button. */
"CHECK_FOR_BACKUP_RESTORE" = "Obnoviť"; "CHECK_FOR_BACKUP_RESTORE" = "Obnoviť";
/* Error indicating that the app could not determine that user's iCloud account status */ /* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Seassion-u sa nepodarilo zistiť stav Vášho iCloud účtu. Prihláste sa do Vášho iCloud účtu v nastaveniach iOS aplikácie pre zálohovanie Vašich Seassion dát."; "CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Session sa nepodarilo zistiť stav vášho iCloud účtu. Prihláste sa do svojho iCloud účtu v iOS nastaveniach pre zálohovanie vašich Session dát.";
/* Error indicating that user does not have an iCloud account. */ /* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "No iCloud Account. Sign in to your iCloud Account in the iOS settings app to backup your Session data."; "CLOUDKIT_STATUS_NO_ACCOUNT" = "Žiadny iCloud účet. Prihláste sa do vášho iCloud účtu v iOS nastaveniach pre zálohovanie vašich Session dát.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Session was denied access your iCloud account for backups. Grant Session access to your iCloud Account in the iOS settings app to backup your Session data."; "CLOUDKIT_STATUS_RESTRICTED" = "Prístup pre Session do Vášho iCloud účtu na účely zálohovania bol zamietnutý. Povoľte aplikácii Session prístup do Vášho iCloud Účtu v aplikácii iOS Nastavenia aby sa dáta mohli zálohovať.";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Už nebudete môcť posielať a prijímať správy v tejto skupine."; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Už nebudete môcť posielať a prijímať správy v tejto skupine.";
/* Alert title */ /* Alert title */
@ -135,7 +135,7 @@
/* keyboard toolbar label when exactly 1 message matches the search string */ /* keyboard toolbar label when exactly 1 message matches the search string */
"CONVERSATION_SEARCH_ONE_RESULT" = "1 zhoda"; "CONVERSATION_SEARCH_ONE_RESULT" = "1 zhoda";
/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */
"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d of %d matches"; "CONVERSATION_SEARCH_RESULTS_FORMAT" = "nájdených %d z %d";
/* title for conversation settings screen */ /* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "Nastavenia konverzácie"; "CONVERSATION_SETTINGS" = "Nastavenia konverzácie";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
@ -163,7 +163,7 @@
/* Label for button to unmute a thread. */ /* Label for button to unmute a thread. */
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Zrušiť stíšenie"; "CONVERSATION_SETTINGS_UNMUTE_ACTION" = "Zrušiť stíšenie";
/* Title for the 'crop/scale image' dialog. */ /* Title for the 'crop/scale image' dialog. */
"CROP_SCALE_IMAGE_VIEW_TITLE" = "Move and Scale"; "CROP_SCALE_IMAGE_VIEW_TITLE" = "Presun a zmena veľkosti";
/* Subtitle shown while the app is updating its database. */ /* Subtitle shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_SUBTITLE" = "Môže to trvať zopár minút."; "DATABASE_VIEW_OVERLAY_SUBTITLE" = "Môže to trvať zopár minút.";
/* Title shown while the app is updating its database. */ /* Title shown while the app is updating its database. */
@ -199,7 +199,7 @@
/* Alert message shown when user tries to search for GIFs without entering any search terms. */ /* Alert message shown when user tries to search for GIFs without entering any search terms. */
"GIF_PICKER_VIEW_MISSING_QUERY" = "Zadajte prosím čo hľadáte."; "GIF_PICKER_VIEW_MISSING_QUERY" = "Zadajte prosím čo hľadáte.";
/* Indicates that an error occurred while searching. */ /* Indicates that an error occurred while searching. */
"GIF_VIEW_SEARCH_ERROR" = "Error. Tap to Retry."; "GIF_VIEW_SEARCH_ERROR" = "Chyba. Stlačte tlačidlo a skúste to znova.";
/* Indicates that the user's search had no results. */ /* Indicates that the user's search had no results. */
"GIF_VIEW_SEARCH_NO_RESULTS" = "Žiadne výsledky."; "GIF_VIEW_SEARCH_NO_RESULTS" = "Žiadne výsledky.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -267,7 +267,7 @@
/* status message while attachment is uploading */ /* status message while attachment is uploading */
"MESSAGE_STATUS_UPLOADING" = "Odovzdáva sa…"; "MESSAGE_STATUS_UPLOADING" = "Odovzdáva sa…";
/* Alert body when user has previously denied media library access */ /* 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" = "Toto povolenie môžete povoliť v aplikácii Nastavenia iOS.";
/* Alert title when user has previously denied media library access */ /* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Session potrebuje prístup k vašim fotkám pre túto funkciu."; "MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Session potrebuje prístup k vašim fotkám pre túto funkciu.";
/* An explanation of the consequences of muting a thread. */ /* An explanation of the consequences of muting a thread. */
@ -279,7 +279,7 @@
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ /* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Je možné, že ste dostali správy kým sa váš %@ reštartoval."; "NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Je možné, že ste dostali správy kým sa váš %@ reštartoval.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_FOOTER_WARNING" = "Due to known bugs in Apple's push framework, message previews will only be shown if the message is retrieved within 30 seconds after being sent. The application badge might be inaccurate as a result."; "NOTIFICATIONS_FOOTER_WARNING" = "Kvôli známym chybám v rámci Apple push sa náhľady správ zobrazia len vtedy, ak sa správa načíta do 30 sekúnd po odoslaní. V dôsledku toho môže byť odznak aplikácie nepresný.";
/* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */ /* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */
"NOTIFICATIONS_SECTION_INAPP" = "Hrať keď je apka otvorená"; "NOTIFICATIONS_SECTION_INAPP" = "Hrať keď je apka otvorená";
/* Label for settings UI that allows user to change the notification sound. */ /* Label for settings UI that allows user to change the notification sound. */
@ -295,27 +295,27 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"BUTTON_OK" = "OK"; "BUTTON_OK" = "OK";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ disabled disappearing messages."; "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ zakázal miznutie správ.";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ set disappearing message time to %@"; "OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ nastavil čas zmiznutia správy na %@";
/* alert title, generic error preventing user from capturing a photo */ /* alert title, generic error preventing user from capturing a photo */
"PHOTO_CAPTURE_GENERIC_ERROR" = "Nepodarilo sa zachytiť obrázok."; "PHOTO_CAPTURE_GENERIC_ERROR" = "Nepodarilo sa zachytiť obrázok.";
/* alert title */ /* alert title */
"PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "Nepodarilo sa zachytiť obrázok."; "PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "Nepodarilo sa zachytiť obrázok.";
/* alert title */ /* alert title */
"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Failed to configure camera."; "PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Nepodarilo sa nakonfigurovať fotoaparát.";
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Nepomenovaný album"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Nepomenovaný album";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Označiť ako prečítané";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Odpovedať";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Nemôžeme aktivovať váš účet kým neoveríte kód, ktorý sme vám poslali."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Nemôžeme aktivovať váš účet kým neoveríte kód, ktorý sme vám poslali.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Okamžite"; "SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "Okamžite";
/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ /* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session."; "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Pre otvorenie %1$s potvrďte svoju totožnosť.";
/* Title for alert indicating that screen lock could not be unlocked. */ /* Title for alert indicating that screen lock could not be unlocked. */
"SCREEN_LOCK_UNLOCK_FAILED" = "Overenie zlyhalo"; "SCREEN_LOCK_UNLOCK_FAILED" = "Overenie zlyhalo";
/* alert title when user attempts to leave the send media flow when they have an in-progress album */ /* alert title when user attempts to leave the send media flow when they have an in-progress album */
@ -339,17 +339,17 @@
/* Label for iCloud status row in the in the backup settings view. */ /* Label for iCloud status row in the in the backup settings view. */
"SETTINGS_BACKUP_ICLOUD_STATUS" = "Stav iCloud"; "SETTINGS_BACKUP_ICLOUD_STATUS" = "Stav iCloud";
/* Indicates that the last backup restore failed. */ /* Indicates that the last backup restore failed. */
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Backup Restore Failed"; "SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Obnovenie zálohy zlyhalo";
/* Indicates that app is not restoring up. */ /* Indicates that app is not restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle"; "SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Obnovenie zálohy zlyhalo";
/* Indicates that app is restoring up. */ /* Indicates that app is restoring up. */
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress"; "SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Prebieha obnovenie zálohy";
/* Indicates that the last backup restore succeeded. */ /* Indicates that the last backup restore succeeded. */
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded"; "SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Obnovenie zálohy sa podarilo";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PHASE" = "Fáza"; "SETTINGS_BACKUP_PHASE" = "Fáza";
/* Label for phase row in the in the backup settings view. */ /* Label for phase row in the in the backup settings view. */
"SETTINGS_BACKUP_PROGRESS" = "Progress"; "SETTINGS_BACKUP_PROGRESS" = "Priebeh";
/* Label for backup status row in the in the backup settings view. */ /* Label for backup status row in the in the backup settings view. */
"SETTINGS_BACKUP_STATUS" = "Status"; "SETTINGS_BACKUP_STATUS" = "Status";
/* Indicates that the last backup failed. */ /* Indicates that the last backup failed. */
@ -371,15 +371,21 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Posielať náhľady odkazov"; "SETTINGS_LINK_PREVIEWS" = "Posielať náhľady odkazov";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Náhľady sú podporované pre odkazy na Imgur, Instagram, Pinterest, Reddit a YouTube."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Náhľady sú podporované pre väčšinu adries.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Náhľady odkazov"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Náhľady odkazov";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Hlasové a video hovory";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Povoliť prístup k prijímaniu hlasových a video hovorov od ostatných používateľov.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Hovory";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Obsah upozornenia"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Obsah upozornenia";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
"SETTINGS_READ_RECEIPT" = "Potvrdenia o prečítaní"; "SETTINGS_READ_RECEIPT" = "Potvrdenia o prečítaní";
/* An explanation of the 'read receipts' setting. */ /* An explanation of the 'read receipts' setting. */
"SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "See and share when messages have been read. This setting is optional and applies to all conversations."; "SETTINGS_READ_RECEIPTS_SECTION_FOOTER" = "Zobrazte a zdieľajte, keď boli správy prečítané. Toto nastavenie je voliteľné a vzťahuje sa na všetky konverzácie.";
/* Label for the 'screen lock activity timeout' setting of the privacy settings. */ /* Label for the 'screen lock activity timeout' setting of the privacy settings. */
"SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Časový limit zamknutia obrazovky"; "SETTINGS_SCREEN_LOCK_ACTIVITY_TIMEOUT" = "Časový limit zamknutia obrazovky";
/* Title for the 'screen lock' section of the privacy settings. */ /* Title for the 'screen lock' section of the privacy settings. */
@ -429,7 +435,7 @@
/* Filename for voice messages. */ /* Filename for voice messages. */
"VOICE_MESSAGE_FILE_NAME" = "Hlasová správa"; "VOICE_MESSAGE_FILE_NAME" = "Hlasová správa";
/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ /* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */
"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Tap and hold to record a voice message."; "VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Ťuknutím a podržaním nahráte hlasovú správu.";
/* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */ /* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */
"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Hlasová správa"; "VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Hlasová správa";
/* Info Message when you disable disappearing messages */ /* Info Message when you disable disappearing messages */
@ -445,19 +451,19 @@
"invalid_session_id" = "Neplatné Session ID"; "invalid_session_id" = "Neplatné Session ID";
"cancel" = "Zrušiť"; "cancel" = "Zrušiť";
"your_session_id" = "Vaše Session ID"; "your_session_id" = "Vaše Session ID";
"vc_landing_title_2" = "Your Session begins here..."; "vc_landing_title_2" = "Váš Session sa začína tu...";
"vc_landing_register_button_title" = "Vytvoriť Session ID"; "vc_landing_register_button_title" = "Vytvoriť Session ID";
"vc_landing_restore_button_title" = "Continue Your Session"; "vc_landing_restore_button_title" = "Pokračovať v Session";
"vc_landing_link_button_title" = "Pripojiť zariadenie"; "vc_landing_link_button_title" = "Pripojiť zariadenie";
"view_fake_chat_bubble_1" = "Čo je Session?"; "view_fake_chat_bubble_1" = "Čo je Session?";
"view_fake_chat_bubble_2" = "Je to decentralizovaná, šifrovaná apka na posielanie správ"; "view_fake_chat_bubble_2" = "Je to decentralizovaná, šifrovaná apka na posielanie správ";
"view_fake_chat_bubble_3" = "Takže nezbiera moje osobné informácie alebo metadáta mojich konverzácií? Ako to funguje?"; "view_fake_chat_bubble_3" = "Takže nezbiera moje osobné informácie alebo metadáta mojich konverzácií? Ako to funguje?";
"view_fake_chat_bubble_4" = "Použitím kombinácie pokročilých technológií anonymného smerovania a end-to-end šifrovania."; "view_fake_chat_bubble_4" = "Použitím kombinácie pokročilých technológií anonymného smerovania a end-to-end šifrovania.";
"view_fake_chat_bubble_5" = "Friends don't let friends use compromised messengers. You're welcome."; "view_fake_chat_bubble_5" = "Priatelia nedovoľujú priateľom používať kompromitované messengery. Nemáte za čo.";
"vc_register_title" = "Povedzte ahoj svojmu Session ID"; "vc_register_title" = "Povedzte ahoj svojmu Session ID";
"vc_register_explanation" = "Vaše Session ID je jedinečná adresa, ktorú môžu ľudia použiť aby sa s vami skontaktovali v Session. Pretože Session ID nemá žiadne spojenie s vašou skutočnou identitou, je Session ID úplne anonymné a súkromé."; "vc_register_explanation" = "Vaše Session ID je jedinečná adresa, ktorú môžu ľudia použiť aby sa s vami skontaktovali v Session. Pretože Session ID nemá žiadne spojenie s vašou skutočnou identitou, je Session ID úplne anonymné a súkromé.";
"vc_restore_title" = "Obnoviť účet"; "vc_restore_title" = "Obnoviť účet";
"vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account."; "vc_restore_explanation" = "Zadajte frázu na obnovenie, ktorá vám bola poskytnutá pri registrácii, aby ste obnovili svoje konto.";
"vc_restore_seed_text_field_hint" = "Zadajte vašu obnovovaciu frázu"; "vc_restore_seed_text_field_hint" = "Zadajte vašu obnovovaciu frázu";
"vc_link_device_title" = "Pripojiť zariadenie"; "vc_link_device_title" = "Pripojiť zariadenie";
"vc_link_device_scan_qr_code_tab_title" = "Skenovať QR kód"; "vc_link_device_scan_qr_code_tab_title" = "Skenovať QR kód";
@ -472,10 +478,10 @@
"vc_home_empty_state_button_title" = "Začať stretnutie"; "vc_home_empty_state_button_title" = "Začať stretnutie";
"vc_seed_title" = "Vaša fráza pre obnovenie"; "vc_seed_title" = "Vaša fráza pre obnovenie";
"vc_seed_title_2" = "Toto je vaša fráza pre obnovenie"; "vc_seed_title_2" = "Toto je vaša fráza pre obnovenie";
"vc_seed_explanation" = "Your recovery phrase is the master key to your Session ID — you can use it to restore your Session ID if you lose access to your device. Store your recovery phrase in a safe place, and dont give it to anyone."; "vc_seed_explanation" = "Vaša fráza na obnovenie je hlavným kľúčom k vášmu Session ID - môžete ju použiť na obnovenie svojho Session ID ak stratíte prístup k zariadeniu. Uložte frázu na obnovenie na bezpečnom mieste a nikomu ju nedávajte.";
"vc_seed_reveal_button_title" = "Podržaním odhaľte"; "vc_seed_reveal_button_title" = "Podržaním odhaľte";
"view_seed_reminder_subtitle_1" = "Secure your account by saving your recovery phrase"; "view_seed_reminder_subtitle_1" = "Zabezpečte svoje konto uložením frázy na obnovenie";
"view_seed_reminder_subtitle_2" = "Tap and hold the redacted words to reveal your recovery phrase, then store it safely to secure your Session ID."; "view_seed_reminder_subtitle_2" = "Ťuknutím a podržaním upravených slov odhaľte frázu na obnovenie a potom ju bezpečne uložte, aby ste zabezpečili svoje Session ID.";
"view_seed_reminder_subtitle_3" = "Uistite sa, že frázu na obnovenie máte uloženú na bezpečnom mieste"; "view_seed_reminder_subtitle_3" = "Uistite sa, že frázu na obnovenie máte uloženú na bezpečnom mieste";
"vc_path_title" = "Cesta"; "vc_path_title" = "Cesta";
"vc_path_explanation" = "Session skrýva vašu IP smerovaním vašich správ cez viacero servisných uzlov v decentralizovanej Session siete. Toto sú krajiny cez ktoré je momentálne smerované vaše spojenie:"; "vc_path_explanation" = "Session skrýva vašu IP smerovaním vašich správ cez viacero servisných uzlov v decentralizovanej Session siete. Toto sú krajiny cez ktoré je momentálne smerované vaše spojenie:";
@ -484,17 +490,17 @@
"vc_path_service_node_row_title" = "Servisný uzol"; "vc_path_service_node_row_title" = "Servisný uzol";
"vc_path_destination_row_title" = "Cieľ"; "vc_path_destination_row_title" = "Cieľ";
"vc_path_learn_more_button_title" = "Viac informácií"; "vc_path_learn_more_button_title" = "Viac informácií";
"vc_create_private_chat_title" = "New Session"; "vc_create_private_chat_title" = "Nová relácia";
"vc_create_private_chat_enter_session_id_tab_title" = "Zadajte Session ID"; "vc_create_private_chat_enter_session_id_tab_title" = "Zadajte Session ID";
"vc_create_private_chat_scan_qr_code_tab_title" = "Skenovať QR kód"; "vc_create_private_chat_scan_qr_code_tab_title" = "Skenovať QR kód";
"vc_create_private_chat_scan_qr_code_explanation" = "Začnite stretnutie naskenovaním QR kódu iného používateľa. QR kód nájdete ťuknutím na ikonu QR kódu v nastaveniach účtu."; "vc_create_private_chat_scan_qr_code_explanation" = "Začnite stretnutie naskenovaním QR kódu iného používateľa. QR kód nájdete ťuknutím na ikonu QR kódu v nastaveniach účtu.";
"vc_enter_public_key_explanation" = "Users can share their Session ID by going into their account settings and tapping \"Share Session ID\", or by sharing their QR code."; "vc_enter_public_key_explanation" = "Používatelia môžu zdieľať svoje Session ID tak, že prejdú do nastavení svojho konta a klepnú na \"Zdieľať Session ID\" alebo zdieľajú svoj QR kód.";
"vc_scan_qr_code_camera_access_explanation" = "Session potrebuje prístup ku kamere na skenovanie QR kódov"; "vc_scan_qr_code_camera_access_explanation" = "Session potrebuje prístup ku kamere na skenovanie QR kódov";
"vc_scan_qr_code_grant_camera_access_button_title" = "Povoliť prístup ku kamere"; "vc_scan_qr_code_grant_camera_access_button_title" = "Povoliť prístup ku kamere";
"vc_create_closed_group_title" = "Nová uzatvorená skupina"; "vc_create_closed_group_title" = "Nová uzatvorená skupina";
"vc_create_closed_group_text_field_hint" = "Zadajte názov skupiny"; "vc_create_closed_group_text_field_hint" = "Zadajte názov skupiny";
"vc_create_closed_group_empty_state_message" = "Zatiaľ nemáte žiadne kontakty"; "vc_create_closed_group_empty_state_message" = "Zatiaľ nemáte žiadne kontakty";
"vc_create_closed_group_empty_state_button_title" = "Start a Session"; "vc_create_closed_group_empty_state_button_title" = "Začať Session";
"vc_create_closed_group_group_name_missing_error" = "Zadajte prosím názov skupiny"; "vc_create_closed_group_group_name_missing_error" = "Zadajte prosím názov skupiny";
"vc_create_closed_group_group_name_too_long_error" = "Zadajte prosím kratší názov skupiny"; "vc_create_closed_group_group_name_too_long_error" = "Zadajte prosím kratší názov skupiny";
"vc_create_closed_group_too_many_group_members_error" = "Uzatvorená skupina nemôže mať viac ako 100 členov"; "vc_create_closed_group_too_many_group_members_error" = "Uzatvorená skupina nemôže mať viac ako 100 členov";
@ -518,11 +524,11 @@
"modal_seed_explanation" = "Toto je vaša fráza pre obnovenie. S jej pomocou môžete obnoviť alebo presunúť svoje Session ID na nové zariadenie."; "modal_seed_explanation" = "Toto je vaša fráza pre obnovenie. S jej pomocou môžete obnoviť alebo presunúť svoje Session ID na nové zariadenie.";
"modal_clear_all_data_title" = "Odstrániť všetky dáta"; "modal_clear_all_data_title" = "Odstrániť všetky dáta";
"modal_clear_all_data_explanation" = "Toto navždy vymaže vaše správy, stretnutia a kontakty."; "modal_clear_all_data_explanation" = "Toto navždy vymaže vaše správy, stretnutia a kontakty.";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "Chcete vymazať iba toto zariadenie alebo celý účet?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "Data neboli odstránené 1 Servisným Uzlom. Servisný Uzol ID:%@.";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "Data neboli odstránené 1 Servisným Uzlom. Servisný Uzol ID:%@.";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "Iba zariadenie";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "Celý Účet";
"vc_qr_code_title" = "QR kód"; "vc_qr_code_title" = "QR kód";
"vc_qr_code_view_my_qr_code_tab_title" = "Zobraziť môj QR kód"; "vc_qr_code_view_my_qr_code_tab_title" = "Zobraziť môj QR kód";
"vc_qr_code_view_scan_qr_code_tab_title" = "Skenovať QR kód"; "vc_qr_code_view_scan_qr_code_tab_title" = "Skenovať QR kód";
@ -536,10 +542,10 @@
"vc_pn_mode_title" = "Upozornenia na správy"; "vc_pn_mode_title" = "Upozornenia na správy";
"vc_notification_settings_notification_mode_title" = "Použiť rýchly režim"; "vc_notification_settings_notification_mode_title" = "Použiť rýchly režim";
"vc_link_device_recovery_phrase_tab_title" = "Fráza pre obnovenie"; "vc_link_device_recovery_phrase_tab_title" = "Fráza pre obnovenie";
"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; "vc_link_device_scan_qr_code_explanation" = "Prejdite do Nastavenia → Fráza pre Obnovenie na inom Vašom zariadení pre zobrazenie QR kódu.";
"vc_enter_recovery_phrase_title" = "Fráza pre obnovenie"; "vc_enter_recovery_phrase_title" = "Fráza pre obnovenie";
"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; "vc_enter_recovery_phrase_explanation" = "Pre prepojenie Vášho zariadenia, zadajte Frázu pre Obnovenie, ktorá Vám bola poskytnutá pri registrácii.";
"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; "vc_enter_public_key_text_field_hint" = "Vložte Session ID alebo ONS meno";
"vc_home_title" = "Správy"; "vc_home_title" = "Správy";
"admin_group_leave_warning" = "Pretože tvorcom skupiny ste vy, skupina bude vymazaná pre každého. Táto akcia sa nedá vrátiť."; "admin_group_leave_warning" = "Pretože tvorcom skupiny ste vy, skupina bude vymazaná pre každého. Táto akcia sa nedá vrátiť.";
"vc_join_open_group_suggestions_title" = "Alebo sa pripojte k jednej z týchto..."; "vc_join_open_group_suggestions_title" = "Alebo sa pripojte k jednej z týchto...";
@ -555,68 +561,88 @@
"modal_open_url_title" = "Otvoriť URL?"; "modal_open_url_title" = "Otvoriť URL?";
"modal_open_url_explanation" = "Ste si istý, že chcete otvoriť %@?"; "modal_open_url_explanation" = "Ste si istý, že chcete otvoriť %@?";
"modal_open_url_button_title" = "Otvoriť"; "modal_open_url_button_title" = "Otvoriť";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "Skopírovať Odkaz";
"modal_blocked_title" = "Odblokovať %@?"; "modal_blocked_title" = "Odblokovať %@?";
"modal_blocked_explanation" = "Ste si istý/á, že chcete odblokovať %@?"; "modal_blocked_explanation" = "Ste si istý/á, že chcete odblokovať %@?";
"modal_blocked_button_title" = "Odblokovať"; "modal_blocked_button_title" = "Odblokovať";
"modal_link_previews_title" = "Povoliť náhľad odkazov?"; "modal_link_previews_title" = "Povoliť náhľad odkazov?";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "Zapnutie ukážok linkov ukáže ukážky pre URL, ktoré vy pošlete a príjmete. Toto môže byť užitočné, ale Session bude potrebovať navštíviť dané webstránky pre vygenerovanie ukážok. Kedykoľvek môžete vypnúť ukážky linkov v nastaveniach Session.";
"modal_link_previews_button_title" = "Povoliť"; "modal_link_previews_button_title" = "Povoliť";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "Hlasové / video hovory";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "Súčasná implementácia hlasových/video hovorov odhalí vašu IP adresu serverom Oxen Foundation a volajúcemu/volanému používateľovi.";
"vc_share_title" = "Share to Session"; "modal_share_logs_title" = "Zdieľať záznamy";
"modal_share_logs_explanation" = "Chcete exportovať záznamy činnosti vašej aplikácie pre zdieľanie za účelom vyriešenia problémov?";
"vc_share_title" = "Zdieľať do Session";
"vc_share_loading_message" = "Pripravujú sa prílohy..."; "vc_share_loading_message" = "Pripravujú sa prílohy...";
"vc_share_sending_message" = "Odosiela sa..."; "vc_share_sending_message" = "Odosiela sa...";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "Ukážka nebola načítaná pre nezabezpečený odkaz";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "Nepodarilo sa načítať ukážku";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "Ukážky odkazov sú vypnuté";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Zapnutie ukážok linkov ukáže ukážky pre URL, ktoré vy pošlete a príjmete. Toto môže byť užitočné, ale Session bude potrebovať navštíviť dané webstránky pre vygenerovanie ukážok.\n\nKedykoľvek môžete vypnúť ukážky linkov v nastaveniach Session.";
"view_open_group_invitation_description" = "Otvoriť skupinovú pozvánku"; "view_open_group_invitation_description" = "Otvoriť skupinovú pozvánku";
"vc_conversation_settings_invite_button_title" = "Pridať členov"; "vc_conversation_settings_invite_button_title" = "Pridať členov";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "Časté otázky";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Spätná väzba / Anketa";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Ladiaci log";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Varovanie";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "Toto je Vaša Fáza pre Obnovenie. Ak ju niekomu poskytnete, dotýčný má plný prístup do Vášho účtu.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Odoslať";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Upozorniť Len ak Spomenutý";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "Ak povolené, budete upozornený iba na správy, kde Vás niekto spomenul.";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "Upozorniť Iba ak Spomenutý";
"message_deleted" = "This message has been deleted"; "message_deleted" = "Táto správa už bola odstránená";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "Vymazať len u mňa";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Vymazať u všetkých";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Vymazať pre mňa a %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Odpovedať";
"context_menu_save" = "Save"; "context_menu_save" = "Uložiť";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Zablokovanie používateľa";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Zabanovať a Vymazať Všetko";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Pridať Prílohy";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Dokument";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Knižnica Fotografií";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Kamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Uzatvor možnosti prípon";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Neplatná Obnovovacia Fráza";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "Neplatná Obnovovacia Fráza";
"DISMISS_BUTTON_TEXT" = "Zrušiť";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Nastavenia";
"voice_call" = "Voice Call"; "call_outgoing" = "Volali ste %@";
"video_call" = "Video Call"; "call_incoming" = "%@ vám volal/a";
"APN_Message" = "You've got a new message"; "call_missed" = "Zmeškaný Hovor od %@";
"system_mode_theme" = "System"; "call_rejected" = "Odmietnutý Hovor";
"dark_mode_theme" = "Dark"; "call_cancelled" = "Zrušený Hovor";
"light_mode_theme" = "Light"; "call_timeout" = "Neprijatý Hovor";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "Hlasový Hovor";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "Video Hovor";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "Máte novú správu";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "Máte %@ nových správ.";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "Systém";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "Tmavý";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "Svetlý";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "Pripnúť";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "Zrušiť pripnutie";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "Zmeškaný hovor";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "Zmeškaný hovor od %@ pretože ste potrebovali zapnúť povolenie pre 'Hlasové a video hovory' v Nastaveniach Súkromia.";
"meida_saved" = "Médiá uložené používateľom %@.";
"screenshot_taken" = "%@ urobili snímku obrazovky.";
"SEARCH_SECTION_CONTACTS" = "Kontakty a Skupiny";
"SEARCH_SECTION_MESSAGES" = "Správy";
"SEARCH_SECTION_RECENT" = "Nedávne";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "posledná správa: %@";
"MESSAGE_REQUESTS_TITLE" = "Žiadosti o Správu";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "Žiadne prebiehajúce žiadosti o správu";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Vymazať Všetko";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Naozaj chcete vymazať všetky žiadosti o správu?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Vymazať";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Naozaj chcete vymazať túto žiadosť o správu?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "Nastala chyba pri akceptovaní žiadosti o túto správu";
"MESSAGE_REQUESTS_INFO" = "Poslanie správy tomuto používateľovi automaticky príjme ich žiadosť o správu.";
"MESSAGE_REQUESTS_ACCEPTED" = "Vaša žiadosť o správu bola prijatá.";
"MESSAGE_REQUESTS_NOTIFICATION" = "Máte novú žiadosť o správu";
"TXT_HIDE_TITLE" = "Skryť";
"TXT_DELETE_ACCEPT" = "Accept"; "TXT_DELETE_ACCEPT" = "Accept";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message";

View File

@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "Namnlöst Album"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "Namnlöst Album";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "Markera som läst";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "Svara";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Vi kan inte aktivera ditt konto förrän du verifierar koden vi skickade till dig."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "Vi kan inte aktivera ditt konto förrän du verifierar koden vi skickade till dig.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "Länkförhandsvisningar"; "SETTINGS_LINK_PREVIEWS" = "Länkförhandsvisningar";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Förhandsvisningar stöds för Imgur-, Instagram-, Pinterest-, Reddit- och YouTube-länkar."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Förhandsgranskning av länkar"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Förhandsgranskning av länkar";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Röst- och videosamtal";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Aviseringsljud"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Aviseringsljud";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -562,6 +568,8 @@
"modal_link_previews_title" = "Aktivera förhandsgranskningar av länkar?"; "modal_link_previews_title" = "Aktivera förhandsgranskningar av länkar?";
"modal_link_previews_explanation" = "Om du aktiverar länkförhandsvisningar visas förhandsvisningar för URL: er du skickar och tar emot. Detta kan vara användbart, men sessionen måste kontakta länkade webbplatser för att generera förhandsvisningar. Du kan alltid inaktivera länkförhandsvisningar i sessionsinställningarna."; "modal_link_previews_explanation" = "Om du aktiverar länkförhandsvisningar visas förhandsvisningar för URL: er du skickar och tar emot. Detta kan vara användbart, men sessionen måste kontakta länkade webbplatser för att generera förhandsvisningar. Du kan alltid inaktivera länkförhandsvisningar i sessionsinställningarna.";
"modal_link_previews_button_title" = "Aktivera"; "modal_link_previews_button_title" = "Aktivera";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "Dela i Session"; "vc_share_title" = "Dela i Session";
@ -576,7 +584,7 @@
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "Feedback / Survey";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "Debug Log";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "Varning";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account.";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "Send";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only";
@ -587,25 +595,43 @@
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "Delete for everyone";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "Delete for me and %@";
"context_menu_reply" = "Reply"; "context_menu_reply" = "Reply";
"context_menu_save" = "Save"; "context_menu_save" = "Spara";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "Ban User";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "Ban and Delete All";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "Add attachments";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "Document";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "Photo library";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Kamera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Inställningar";
"call_outgoing" = "Du ringde %@";
"call_incoming" = "%@ ringde dig";
"call_missed" = "Missat samtal från %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "สงตัวอย่างจากลินค์"; "SETTINGS_LINK_PREVIEWS" = "สงตัวอย่างจากลินค์";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "สามารถได้ตัวอย่างจากเว็บไซต์ Imgur, Instagram, Pinterest, Reddit, และ YouTube"; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "ตัวอย่างจากลินค์"; "SETTINGS_LINK_PREVIEWS_HEADER" = "ตัวอย่างจากลินค์";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Voice and video calls";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "ข้อมูลการแจ้งเตือน"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "ข้อมูลการแจ้งเตือน";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -562,6 +568,8 @@
"modal_link_previews_title" = "เปิดใช้งานการแสดงตัวอย่างลิงค์"; "modal_link_previews_title" = "เปิดใช้งานการแสดงตัวอย่างลิงค์";
"modal_link_previews_explanation" = "การเปิดใช้งานการแสดงตัวอย่างลิงค์จะแสดงตัวอย่างสำหรับ URL ที่คุณส่งและรับ สิ่งนี้มีประโยชน์ แต่Sessionจะต้องติดต่อเว็บไซต์ที่เชื่อมโยงเพื่อสร้างตัวอย่าง คุณสามารถปิดการแสดงตัวอย่างลิงก์ได้ตลอดเวลาในการตั้งค่าของSession"; "modal_link_previews_explanation" = "การเปิดใช้งานการแสดงตัวอย่างลิงค์จะแสดงตัวอย่างสำหรับ URL ที่คุณส่งและรับ สิ่งนี้มีประโยชน์ แต่Sessionจะต้องติดต่อเว็บไซต์ที่เชื่อมโยงเพื่อสร้างตัวอย่าง คุณสามารถปิดการแสดงตัวอย่างลิงก์ได้ตลอดเวลาในการตั้งค่าของSession";
"modal_link_previews_button_title" = "เปิดใช้งาน"; "modal_link_previews_button_title" = "เปิดใช้งาน";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "เชิญมาใช้ Session"; "vc_share_title" = "เชิญมาใช้ Session";
@ -597,15 +605,33 @@
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Settings";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -1,31 +1,31 @@
/* Label for the 'dismiss' button in the 'new app version available' alert. */ /* Label for the 'dismiss' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Not Now"; "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "Không phải bây giờ";
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Version %@ is now available in the App Store."; "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Phiên bản %@ đã có trên App Store.";
/* Title for the 'new app version available' alert. */ /* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "A New Version of Session Is Available"; "APP_UPDATE_NAG_ALERT_TITLE" = "Một phiên bản mới của Session đã sẵn có để sử dụng";
/* Label for the 'update' button in the 'new app version available' alert. */ /* Label for the 'update' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Update"; "APP_UPDATE_NAG_ALERT_UPDATE_BUTTON" = "Cập nhật";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"ATTACHMENT" = "Attachment"; "ATTACHMENT" = "Tệp đính kèm";
/* One-line label indicating the user can add no more text to the attachment caption. */ /* One-line label indicating the user can add no more text to the attachment caption. */
"ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Caption limit reached."; "ATTACHMENT_APPROVAL_CAPTION_LENGTH_LIMIT_REACHED" = "Đã đạt đến giới hạn.";
/* placeholder text for an empty captioning field */ /* placeholder text for an empty captioning field */
"ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Add a caption…"; "ATTACHMENT_APPROVAL_CAPTION_PLACEHOLDER" = "Thêm mô tả…";
/* Title for 'caption' mode of the attachment approval view. */ /* Title for 'caption' mode of the attachment approval view. */
"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Caption"; "ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Mô tả";
/* Format string for file extension label in call interstitial view */ /* Format string for file extension label in call interstitial view */
"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "File type: %@"; "ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Loại tệp tin: %@";
/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ /* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */
"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Size: %@"; "ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Dung lượng: %@";
/* One-line label indicating the user can add no more text to the media message field. */ /* One-line label indicating the user can add no more text to the media message field. */
"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Message limit reached"; "ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Đã đạt đến mức giới hạn ký tự";
/* Label for 'send' button in the 'attachment approval' dialog. */ /* Label for 'send' button in the 'attachment approval' dialog. */
"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Send"; "ATTACHMENT_APPROVAL_SEND_BUTTON" = "Gửi";
/* Generic filename for an attachment with no known name */ /* Generic filename for an attachment with no known name */
"ATTACHMENT_DEFAULT_FILENAME" = "Attachment"; "ATTACHMENT_DEFAULT_FILENAME" = "Tệp đính kèm";
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "Error Sending Attachment"; "ATTACHMENT_ERROR_ALERT_TITLE" = "Lỗi khi gửi tệp";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* 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" = "Unable to convert image.";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
@ -45,101 +45,101 @@
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Attachment is empty."; "ATTACHMENT_ERROR_MISSING_DATA" = "Attachment is empty.";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Failed to choose document."; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Không thể chọn tệp tin.";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* 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" = "Không thể gửi thư mục. Hãy nén thư mục và gửi đi bằng tập tin nén đó.";
/* Alert title when picking a document fails because user picked a directory/bundle */ /* Alert title when picking a document fails because user picked a directory/bundle */
"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Unsupported File"; "ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Tập tin không được hỗ trợ";
/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ /* Short text label for a voice message attachment, used for thread preview and on the lock screen */
"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Voice Message"; "ATTACHMENT_TYPE_VOICE_MESSAGE" = "Tin nhắn thoại";
/* Error indicating the backup export could not export the user's data. */ /* Error indicating the backup export could not export the user's data. */
"BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Backup data could not be exported."; "BACKUP_EXPORT_ERROR_COULD_NOT_EXPORT" = "Không thể trích xuất dữ liệu sao lưu.";
/* Error indicating that the app received an invalid response from CloudKit. */ /* Error indicating that the app received an invalid response from CloudKit. */
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Invalid Service Response"; "BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "Phản hồi không hợp lệ";
/* Indicates that the cloud is being cleaned up. */ /* Indicates that the cloud is being cleaned up. */
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "Cleaning Up Backup"; "BACKUP_EXPORT_PHASE_CLEAN_UP" = "Đang dọn dẹp bản sao lưu";
/* Indicates that the backup export is being configured. */ /* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "Initializing Backup"; "BACKUP_EXPORT_PHASE_CONFIGURATION" = "Đang bắt đầu sao lưu";
/* Indicates that the database data is being exported. */ /* Indicates that the database data is being exported. */
"BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Exporting Data"; "BACKUP_EXPORT_PHASE_DATABASE_EXPORT" = "Đang xuất dữ liệu";
/* Indicates that the backup export data is being exported. */ /* Indicates that the backup export data is being exported. */
"BACKUP_EXPORT_PHASE_EXPORT" = "Exporting Backup"; "BACKUP_EXPORT_PHASE_EXPORT" = "Đang xuất bản sao lưu";
/* Indicates that the backup export data is being uploaded. */ /* Indicates that the backup export data is being uploaded. */
"BACKUP_EXPORT_PHASE_UPLOAD" = "Uploading Backup"; "BACKUP_EXPORT_PHASE_UPLOAD" = "Đang tải lên bản sao lưu";
/* Error indicating the backup import could not import the user's data. */ /* Error indicating the backup import could not import the user's data. */
"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Backup could not be imported."; "BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT" = "Không thể nhập bản sao lưu.";
/* Indicates that the backup import is being configured. */ /* Indicates that the backup import is being configured. */
"BACKUP_IMPORT_PHASE_CONFIGURATION" = "Configuring Backup"; "BACKUP_IMPORT_PHASE_CONFIGURATION" = "Tuỳ chỉnh sao lưu";
/* Indicates that the backup import data is being downloaded. */ /* Indicates that the backup import data is being downloaded. */
"BACKUP_IMPORT_PHASE_DOWNLOAD" = "Downloading Backup Data"; "BACKUP_IMPORT_PHASE_DOWNLOAD" = "Tải xuống bản sao lưu";
/* Indicates that the backup import data is being finalized. */ /* Indicates that the backup import data is being finalized. */
"BACKUP_IMPORT_PHASE_FINALIZING" = "Finalizing Backup"; "BACKUP_IMPORT_PHASE_FINALIZING" = "Quá trình sao lưu sắp hoàn tất";
/* Indicates that the backup import data is being imported. */ /* Indicates that the backup import data is being imported. */
"BACKUP_IMPORT_PHASE_IMPORT" = "Importing backup."; "BACKUP_IMPORT_PHASE_IMPORT" = "Đang nhập bản sao lưu.";
/* Indicates that the backup database is being restored. */ /* Indicates that the backup database is being restored. */
"BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Restoring Database"; "BACKUP_IMPORT_PHASE_RESTORING_DATABASE" = "Đang khôi phục cơ sở dữ liệu";
/* Indicates that the backup import data is being restored. */ /* Indicates that the backup import data is being restored. */
"BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Restoring Files"; "BACKUP_IMPORT_PHASE_RESTORING_FILES" = "Đang khôi phục tập tin";
/* Label for the backup restore decision section. */ /* Label for the backup restore decision section. */
"BACKUP_RESTORE_DECISION_TITLE" = "Backup Available"; "BACKUP_RESTORE_DECISION_TITLE" = "Bản sao lưu khả dụng";
/* Label for the backup restore description. */ /* Label for the backup restore description. */
"BACKUP_RESTORE_DESCRIPTION" = "Restoring Backup"; "BACKUP_RESTORE_DESCRIPTION" = "Đang khôi phục bản sao lưu";
/* Label for the backup restore progress. */ /* Label for the backup restore progress. */
"BACKUP_RESTORE_PROGRESS" = "Progress"; "BACKUP_RESTORE_PROGRESS" = "Đang khôi phục";
/* Label for the backup restore status. */ /* Label for the backup restore status. */
"BACKUP_RESTORE_STATUS" = "Status"; "BACKUP_RESTORE_STATUS" = "Trạng thái";
/* Error shown when backup fails due to an unexpected error. */ /* Error shown when backup fails due to an unexpected error. */
"BACKUP_UNEXPECTED_ERROR" = "Unexpected Backup Error"; "BACKUP_UNEXPECTED_ERROR" = "Lỗi sao lưu";
/* Button label for the 'block' button */ /* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "Block"; "BLOCK_LIST_BLOCK_BUTTON" = "Chặn";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Block %@?"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Chặn %@?";
/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Unblock %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Unblock %@?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "Unblock"; "BLOCK_LIST_UNBLOCK_BUTTON" = "Bỏ chặn";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ has been blocked."; "BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "Đã bỏ chặn %@.";
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "User Blocked"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Người dùng bị chặn";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked.";
/* Alert body after unblocking a group. */ /* 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" = "Existing members can now add you to the group again.";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Blocked users will not be able to call you or send you messages."; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "Người dùng bị chặn sẽ không thể gọi hoặc gửi tin nhắn cho bạn.";
/* Label for generic done button. */ /* Label for generic done button. */
"BUTTON_DONE" = "Done"; "BUTTON_DONE" = "Xong";
/* Button text to enable batch selection mode */ /* Button text to enable batch selection mode */
"BUTTON_SELECT" = "Select"; "BUTTON_SELECT" = "Chọn";
/* The label for the 'do not restore backup' button. */ /* The label for the 'do not restore backup' button. */
"CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Do Not Restore"; "CHECK_FOR_BACKUP_DO_NOT_RESTORE" = "Không khôi phục";
/* The label for the 'restore backup' button. */ /* The label for the 'restore backup' button. */
"CHECK_FOR_BACKUP_RESTORE" = "Restore"; "CHECK_FOR_BACKUP_RESTORE" = "Khôi phục";
/* Error indicating that the app could not determine that user's iCloud account status */ /* Error indicating that the app could not determine that user's iCloud account status */
"CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Session could not determine your iCloud account status. Sign in to your iCloud Account in the iOS settings app to backup your Session data."; "CLOUDKIT_STATUS_COULD_NOT_DETERMINE" = "Session không thể xác định trạng thái của tài khoản iCloud. Đăng nhập vào tài khoản iCloud trong phần cài đặt để sao lưu dữ liệu Session.";
/* Error indicating that user does not have an iCloud account. */ /* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "No iCloud Account. Sign in to your iCloud Account in the iOS settings app to backup your Session data."; "CLOUDKIT_STATUS_NO_ACCOUNT" = "Chưa đăng nhập tài khoản iCloud. Đăng nhập vào tài khoản iCloud trong phần cài đặt để sao lưu dữ liệu Session.";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Session was denied access your iCloud account for backups. Grant Session access to your iCloud Account in the iOS settings app to backup your Session data."; "CLOUDKIT_STATUS_RESTRICTED" = "Session không được quyền truy cập vào tài khoản iCloud. Hãy cấp quyền truy cập trong phần cài đặt để có thể sao lưu dữ liệu Session.";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "You will no longer be able to send or receive messages in this group."; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "Bạn sẽ không thể gửi hoặc nhận tin nhắn trong nhóm này nữa.";
/* Alert title */ /* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "Do you really want to leave?"; "CONFIRM_LEAVE_GROUP_TITLE" = "Bạn thực sự muốn rời khỏi nhóm?";
/* Message for the 'conversation delete confirmation' alert. */ /* Message for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "This cannot be undone."; "CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "Tác vụ này không thể hoàn tất.";
/* Title for the 'conversation delete confirmation' alert. */ /* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Delete Conversation?"; "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "Xóa cuộc hội thoại?";
/* keyboard toolbar label when no messages match the search string */ /* keyboard toolbar label when no messages match the search string */
"CONVERSATION_SEARCH_NO_RESULTS" = "No matches"; "CONVERSATION_SEARCH_NO_RESULTS" = "Không trùng khớp";
/* keyboard toolbar label when exactly 1 message matches the search string */ /* keyboard toolbar label when exactly 1 message matches the search string */
"CONVERSATION_SEARCH_ONE_RESULT" = "1 match"; "CONVERSATION_SEARCH_ONE_RESULT" = "Trùng khớp";
/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */
"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d of %d matches"; "CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d trên %d phù hợp";
/* title for conversation settings screen */ /* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "Conversation Settings"; "CONVERSATION_SETTINGS" = "Thiết đặt chuyện trò";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Block This User"; "CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Chặn Người dùng này";
/* Title of the 'mute this thread' action sheet. */ /* Title of the 'mute this thread' action sheet. */
"CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Mute"; "CONVERSATION_SETTINGS_MUTE_ACTION_SHEET_TITLE" = "Mute";
/* label for 'mute thread' cell in conversation settings */ /* label for 'mute thread' cell in conversation settings */
@ -241,61 +241,61 @@
/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ /* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */
"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Delete %d Messages"; "MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Delete %d Messages";
/* Confirmation button text to delete selected media message from the gallery */ /* Confirmation button text to delete selected media message from the gallery */
"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Delete Message"; "MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Xóa tin nhắn";
/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */ /* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */
"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ on %@"; "MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ lúc %@";
/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ /* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */
"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; "MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@";
/* Short sender label for media sent by you */ /* Short sender label for media sent by you */
"MEDIA_GALLERY_SENDER_NAME_YOU" = "You"; "MEDIA_GALLERY_SENDER_NAME_YOU" = "Bạn";
/* Section header in media gallery collection view */ /* Section header in media gallery collection view */
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "This Month"; "MEDIA_GALLERY_THIS_MONTH_HEADER" = "Tháng này";
/* message status for message delivered to their recipient. */ /* message status for message delivered to their recipient. */
"MESSAGE_STATUS_DELIVERED" = "Delivered"; "MESSAGE_STATUS_DELIVERED" = "Đã gửi";
/* status message for failed messages */ /* status message for failed messages */
"MESSAGE_STATUS_FAILED" = "Sending failed."; "MESSAGE_STATUS_FAILED" = "Gửi thất bại.";
/* status message for failed messages */ /* status message for failed messages */
"MESSAGE_STATUS_FAILED_SHORT" = "Failed"; "MESSAGE_STATUS_FAILED_SHORT" = "Không thành công";
/* status message for read messages */ /* status message for read messages */
"MESSAGE_STATUS_READ" = "Read"; "MESSAGE_STATUS_READ" = "Đã đọc";
/* message status if message delivery to a recipient is skipped. We skip delivering group messages to users who have left the group or unregistered their Session account. */ /* message status if message delivery to a recipient is skipped. We skip delivering group messages to users who have left the group or unregistered their Session account. */
"MESSAGE_STATUS_RECIPIENT_SKIPPED" = "Skipped"; "MESSAGE_STATUS_RECIPIENT_SKIPPED" = "Đã bỏ qua";
/* message status while message is sending. */ /* message status while message is sending. */
"MESSAGE_STATUS_SENDING" = "Sending…"; "MESSAGE_STATUS_SENDING" = "Đang gửi…";
/* status message for sent messages */ /* status message for sent messages */
"MESSAGE_STATUS_SENT" = "Sent"; "MESSAGE_STATUS_SENT" = "Đã gửi";
/* status message while attachment is uploading */ /* status message while attachment is uploading */
"MESSAGE_STATUS_UPLOADING" = "Uploading…"; "MESSAGE_STATUS_UPLOADING" = "Đang tải lên…";
/* Alert body when user has previously denied media library access */ /* 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" = "Bạn có thể cấp quyền truy cập trong phần cài đặt ứng dụng.";
/* Alert title when user has previously denied media library access */ /* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Session requires access to your photos for this feature."; "MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "Session yêu cầu quyền truy cập vào ảnh để sử dụng tính năng này.";
/* An explanation of the consequences of muting a thread. */ /* An explanation of the consequences of muting a thread. */
"MUTE_BEHAVIOR_EXPLANATION" = "You will not receive notifications for muted conversations."; "MUTE_BEHAVIOR_EXPLANATION" = "Bạn sẽ không nhận được thông báo cho các cuộc hội thoại bị tắt tiếng.";
/* notification title. Embeds {{author name}} and {{group name}} */ /* notification title. Embeds {{author name}} and {{group name}} */
"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ to %@"; "NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ đến %@";
/* Label for 1:1 conversation with yourself. */ /* Label for 1:1 conversation with yourself. */
"NOTE_TO_SELF" = "Note to Self"; "NOTE_TO_SELF" = "Gửi lời nhắc cho chính mình";
/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ /* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */
"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "You may have received messages while your %@ was restarting."; "NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Bạn có thể nhận được tin nhắn trong khi %@ của bạn đang được khởi động lại.";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_FOOTER_WARNING" = "Due to known bugs in Apple's push framework, message previews will only be shown if the message is retrieved within 30 seconds after being sent. The application badge might be inaccurate as a result."; "NOTIFICATIONS_FOOTER_WARNING" = "Due to known bugs in Apple's push framework, message previews will only be shown if the message is retrieved within 30 seconds after being sent. The application badge might be inaccurate as a result.";
/* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */ /* Table cell switch label. When disabled, Session will not play notification sounds while the app is in the foreground. */
"NOTIFICATIONS_SECTION_INAPP" = "Play While App is Open"; "NOTIFICATIONS_SECTION_INAPP" = "Play While App is Open";
/* Label for settings UI that allows user to change the notification sound. */ /* Label for settings UI that allows user to change the notification sound. */
"NOTIFICATIONS_SECTION_SOUNDS" = "Sounds"; "NOTIFICATIONS_SECTION_SOUNDS" = "Âm thanh";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SENDER_AND_MESSAGE" = "Name and Content"; "NOTIFICATIONS_SENDER_AND_MESSAGE" = "Tên và Nội dung";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SENDER_ONLY" = "Name Only"; "NOTIFICATIONS_SENDER_ONLY" = "Chỉ tên người gửi";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_NONE" = "No Name or Content"; "NOTIFICATIONS_NONE" = "Không hiện tên cũng như tin nhắn";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SHOW" = "Show"; "NOTIFICATIONS_SHOW" = "Hiển thị";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"BUTTON_OK" = "OK"; "BUTTON_OK" = "OK";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ disabled disappearing messages."; "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ đã vô hiệu hóa tin nhắn tự huỷ.";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ set disappearing message time to %@"; "OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ set disappearing message time to %@";
/* alert title, generic error preventing user from capturing a photo */ /* alert title, generic error preventing user from capturing a photo */
@ -374,6 +374,12 @@
"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for most urls.";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; "SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "Voice and video calls";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "Allow access to accept voice and video calls from other users.";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "Calls";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "Notification Content";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -562,6 +568,8 @@
"modal_link_previews_title" = "Enable Link Previews?"; "modal_link_previews_title" = "Enable Link Previews?";
"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; "modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings.";
"modal_link_previews_button_title" = "Enable"; "modal_link_previews_button_title" = "Enable";
"modal_call_title" = "Voice / video calls";
"modal_call_explanation" = "The current implementation of voice / video calls will expose your IP address to the Oxen Foundation servers and the calling / called user.";
"modal_share_logs_title" = "Share Logs"; "modal_share_logs_title" = "Share Logs";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?";
"vc_share_title" = "Share to Session"; "vc_share_title" = "Share to Session";
@ -597,15 +605,33 @@
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "Camera";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "Collapse attachment options";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "Invalid Recovery Phrase";
"invalid_recovery_phrase" = "Invalid Recovery Phrase";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "DISMISS_BUTTON_TEXT" = "Dismiss";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "Settings";
"call_outgoing" = "You called %@";
"call_incoming" = "%@ called you";
"call_missed" = "Missed Call from %@";
"call_rejected" = "Rejected Call";
"call_cancelled" = "Cancelled Call";
"call_timeout" = "Unanswered Call";
"voice_call" = "Voice Call"; "voice_call" = "Voice Call";
"video_call" = "Video Call"; "video_call" = "Video Call";
"APN_Message" = "You've got a new message"; "APN_Message" = "You've got a new message.";
"APN_Collapsed_Messages" = "You've got %@ new messages.";
"system_mode_theme" = "System"; "system_mode_theme" = "System";
"dark_mode_theme" = "Dark"; "dark_mode_theme" = "Dark";
"light_mode_theme" = "Light"; "light_mode_theme" = "Light";
"PIN_BUTTON_TEXT" = "Pin";
"UNPIN_BUTTON_TEXT" = "Unpin";
"modal_call_missed_tips_title" = "Call missed";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "Media saved by %@.";
"screenshot_taken" = "%@ took a screenshot.";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -1,7 +1,7 @@
/* Label for the 'dismiss' button in the 'new app version available' alert. */ /* Label for the 'dismiss' button in the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "稍後"; "APP_UPDATE_NAG_ALERT_DISMISS_BUTTON" = "稍後";
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */ /* Message format for the 'new app version available' alert. Embeds: {{The latest app version number}} */
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "版本%@ 現在已經可以下載。"; "APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "版本 %@ 現在已經可以下載。";
/* Title for the 'new app version available' alert. */ /* Title for the 'new app version available' alert. */
"APP_UPDATE_NAG_ALERT_TITLE" = "更新版本的 Session 已推出"; "APP_UPDATE_NAG_ALERT_TITLE" = "更新版本的 Session 已推出";
/* Label for the 'update' button in the 'new app version available' alert. */ /* Label for the 'update' button in the 'new app version available' alert. */
@ -27,23 +27,23 @@
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "寄送附件時發生錯誤"; "ATTACHMENT_ERROR_ALERT_TITLE" = "寄送附件時發生錯誤";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error 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 message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Unable to process video."; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "無法處理影片";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error 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 message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Unable to remove metadata from image."; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "無法移除圖片資訊";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error 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 message for attachments whose data exceed file size limits */
"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Attachment is too large."; "ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "附件過大";
/* Attachment error message for attachments with invalid data */ /* 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 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 message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "Attachment is empty."; "ATTACHMENT_ERROR_MISSING_DATA" = "附件不存在";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "選取檔案時發生錯誤"; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "選取檔案時發生錯誤";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -89,13 +89,13 @@
/* Label for the backup restore status. */ /* Label for the backup restore status. */
"BACKUP_RESTORE_STATUS" = "狀態"; "BACKUP_RESTORE_STATUS" = "狀態";
/* Error shown when backup fails due to an unexpected error. */ /* Error shown when backup fails due to an unexpected error. */
"BACKUP_UNEXPECTED_ERROR" = "不明的錯誤,請聯繫開發者"; "BACKUP_UNEXPECTED_ERROR" = "不明的備份錯誤";
/* Button label for the 'block' button */ /* Button label for the 'block' button */
"BLOCK_LIST_BLOCK_BUTTON" = "封鎖"; "BLOCK_LIST_BLOCK_BUTTON" = "封鎖";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "封鎖 %@"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "封鎖 %@";
/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Unblock %@?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "取消封鎖 %@";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "解除封鎖"; "BLOCK_LIST_UNBLOCK_BUTTON" = "解除封鎖";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
@ -103,9 +103,9 @@
/* The title of the 'user blocked' alert. */ /* The title of the 'user blocked' alert. */
"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "使用者已封鎖"; "BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "使用者已封鎖";
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked."; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ 已被封鎖";
/* Alert body after unblocking a group. */ /* 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" = "現有成員現已可以再次將你加入群組";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "被您封鎖的使用者將無法傳送訊息與撥打電話給您"; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "被您封鎖的使用者將無法傳送訊息與撥打電話給您";
/* Label for generic done button. */ /* Label for generic done button. */
@ -121,21 +121,21 @@
/* Error indicating that user does not have an iCloud account. */ /* Error indicating that user does not have an iCloud account. */
"CLOUDKIT_STATUS_NO_ACCOUNT" = "沒有偵測到 iCloud 帳戶,請進入設定登入您的 iCloud 帳號。"; "CLOUDKIT_STATUS_NO_ACCOUNT" = "沒有偵測到 iCloud 帳戶,請進入設定登入您的 iCloud 帳號。";
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Session 因為您的 iCloud 帳號設定並沒有將 Session 的備份選項開啟請進入設定並打開您iCloud 的設定開啟 Session 的備份功能。"; "CLOUDKIT_STATUS_RESTRICTED" = "您的 iCloud 設定未允許 Session 進行備份。請進入設定並授權 Session 存取您的 iCloud 以啟動 Session 的備份功能。";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "您已經無法再於此群組傳送訊息或撥打電話。"; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "您已經無法再於此群組傳送或接收訊息。";
/* Alert title */ /* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "您真的想要離開嗎?"; "CONFIRM_LEAVE_GROUP_TITLE" = "確定要離開嗎?";
/* Message for the 'conversation delete confirmation' alert. */ /* Message for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "這個動作無法被撤銷。"; "CONVERSATION_DELETE_CONFIRMATION_ALERT_MESSAGE" = "此操作無法復原。";
/* Title for the 'conversation delete confirmation' alert. */ /* Title for the 'conversation delete confirmation' alert. */
"CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "刪除對話?"; "CONVERSATION_DELETE_CONFIRMATION_ALERT_TITLE" = "刪除對話?";
/* keyboard toolbar label when no messages match the search string */ /* keyboard toolbar label when no messages match the search string */
"CONVERSATION_SEARCH_NO_RESULTS" = "沒有結果。"; "CONVERSATION_SEARCH_NO_RESULTS" = "沒有相符項目";
/* keyboard toolbar label when exactly 1 message matches the search string */ /* keyboard toolbar label when exactly 1 message matches the search string */
"CONVERSATION_SEARCH_ONE_RESULT" = "一個結果。"; "CONVERSATION_SEARCH_ONE_RESULT" = "1 個相符項目";
/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ /* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */
"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d/%d) 符合。"; "CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d 中的 %d 個項目相符";
/* title for conversation settings screen */ /* title for conversation settings screen */
"CONVERSATION_SETTINGS" = "對話設定"; "CONVERSATION_SETTINGS" = "對話設定";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
@ -153,11 +153,11 @@
/* Label for button to mute a thread for a minute. */ /* Label for button to mute a thread for a minute. */
"CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "靜音一分鐘"; "CONVERSATION_SETTINGS_MUTE_ONE_MINUTE_ACTION" = "靜音一分鐘";
/* Label for button to mute a thread for a week. */ /* Label for button to mute a thread for a week. */
"CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "靜音一個禮拜"; "CONVERSATION_SETTINGS_MUTE_ONE_WEEK_ACTION" = "靜音一星期";
/* Label for button to mute a thread for a year. */ /* Label for button to mute a thread for a year. */
"CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "靜音一年"; "CONVERSATION_SETTINGS_MUTE_ONE_YEAR_ACTION" = "靜音一年";
/* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */ /* Indicates that this thread is muted until a given date or time. Embeds {{The date or time which the thread is muted until}}. */
"CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "直到%@"; "CONVERSATION_SETTINGS_MUTED_UNTIL_FORMAT" = "直到 %@";
/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ /* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */
"CONVERSATION_SETTINGS_SEARCH" = "搜尋對話"; "CONVERSATION_SETTINGS_SEARCH" = "搜尋對話";
/* Label for button to unmute a thread. */ /* Label for button to unmute a thread. */
@ -165,7 +165,7 @@
/* Title for the 'crop/scale image' dialog. */ /* Title for the 'crop/scale image' dialog. */
"CROP_SCALE_IMAGE_VIEW_TITLE" = "移動與裁切"; "CROP_SCALE_IMAGE_VIEW_TITLE" = "移動與裁切";
/* Subtitle shown while the app is updating its database. */ /* Subtitle shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_SUBTITLE" = "這會花上幾分鐘。"; "DATABASE_VIEW_OVERLAY_SUBTITLE" = "這可能需要幾分鐘的時間。";
/* Title shown while the app is updating its database. */ /* Title shown while the app is updating its database. */
"DATABASE_VIEW_OVERLAY_TITLE" = "最佳化資料庫中"; "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}}. */ /* Format string for a relative time, expressed as a certain number of hours in the past. Embeds {{The number of hours}}. */
@ -179,7 +179,7 @@
/* The day before today. */ /* The day before today. */
"DATE_YESTERDAY" = "昨天"; "DATE_YESTERDAY" = "昨天";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "消失的訊息"; "DISAPPEARING_MESSAGES" = "自動銷毀訊息";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */ /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "在這則對話的訊息將於 %@ 後消失"; "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "在這則對話的訊息將於 %@ 後消失";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
@ -191,35 +191,35 @@
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_OLDER_LABEL" = "讀取舊媒體中⋯"; "GALLERY_TILES_LOADING_OLDER_LABEL" = "讀取舊媒體中⋯";
/* Error displayed when there is a failure fetching a GIF from the remote service. */ /* Error displayed when there is a failure fetching a GIF from the remote service. */
"GIF_PICKER_ERROR_FETCH_FAILURE" = "無法讀取此 GIF。請驗證您是否連結到網路。"; "GIF_PICKER_ERROR_FETCH_FAILURE" = "無法讀取此 GIF。請確認您是否已連接到網路。";
/* Generic error displayed when picking a GIF */ /* Generic error displayed when picking a GIF */
"GIF_PICKER_ERROR_GENERIC" = "發生不知名的錯誤。"; "GIF_PICKER_ERROR_GENERIC" = "發生不錯誤。";
/* Shown when selected GIF couldn't be fetched */ /* Shown when selected GIF couldn't be fetched */
"GIF_PICKER_FAILURE_ALERT_TITLE" = "無法選取此 GIF。"; "GIF_PICKER_FAILURE_ALERT_TITLE" = "無法選取此 GIF。";
/* Alert message shown when user tries to search for GIFs without entering any search terms. */ /* 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" = "請輸入搜尋內容";
/* Indicates that an error occurred while searching. */ /* Indicates that an error occurred while searching. */
"GIF_VIEW_SEARCH_ERROR" = "錯誤,請重試。"; "GIF_VIEW_SEARCH_ERROR" = "錯誤。請輕點重試。";
/* Indicates that the user's search had no results. */ /* Indicates that the user's search had no results. */
"GIF_VIEW_SEARCH_NO_RESULTS" = "沒有結果"; "GIF_VIEW_SEARCH_NO_RESULTS" = "沒有結果";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_CREATED" = "已立群組"; "GROUP_CREATED" = "已立群組";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_JOINED" = " %@ 已加入群組。 "; "GROUP_MEMBER_JOINED" = " %@ 已加入群組。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_LEFT" = " %@ 已離開群組。 "; "GROUP_MEMBER_LEFT" = " %@ 已離開群組。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_REMOVED" = " %@ 被踢出群組。 "; "GROUP_MEMBER_REMOVED" = " %@ 已從群組中移除。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBERS_REMOVED" = " %@ 已被群組踢出 "; "GROUP_MEMBERS_REMOVED" = " %@ 已從群組中移除。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_TITLE_CHANGED" = "標題已更改為 %@ "; "GROUP_TITLE_CHANGED" = "標題已更改為「%@」 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_UPDATED" = "群組已更新"; "GROUP_UPDATED" = "群組已更新";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_YOU_LEFT" = "您已離開群組"; "GROUP_YOU_LEFT" = "您已離開群組";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"YOU_WERE_REMOVED" = " 您已被群組踢出 "; "YOU_WERE_REMOVED" = " 你已從群組中移除。 ";
/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ /* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */
"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "無法分享超過 %@ 個項目。"; "IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "無法分享超過 %@ 個項目。";
/* alert title */ /* alert title */
@ -293,7 +293,7 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"NOTIFICATIONS_SHOW" = "顯示"; "NOTIFICATIONS_SHOW" = "顯示";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"BUTTON_OK" = "OK"; "BUTTON_OK" = "";
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 取消了閱後即焚模式"; "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 取消了閱後即焚模式";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
@ -307,9 +307,9 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "未命名相簿"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "未命名相簿";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "標記為已讀";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "回覆";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "我們無法為您啟用帳號,直到您驗證了傳送給您的代碼。"; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "我們無法為您啟用帳號,直到您驗證了傳送給您的代碼。";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "送出的連結預覽"; "SETTINGS_LINK_PREVIEWS" = "送出的連結預覽";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "預覽功能支援 Imgur, Instagram, Pinterest, Reddit, 跟 YouTube 連結。"; "SETTINGS_LINK_PREVIEWS_FOOTER" = "大部分網址都支援預覽功能。";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "連結預覽"; "SETTINGS_LINK_PREVIEWS_HEADER" = "連結預覽";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "語音和視頻通話";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "允許訪問以接受來自其他用戶的語音和視頻通話";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "通話";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知內容"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知內容";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -518,11 +524,11 @@
"modal_seed_explanation" = "這是您的回復用字句,您可以利用此字句來回復或轉移您的帳號至新的裝置上。"; "modal_seed_explanation" = "這是您的回復用字句,您可以利用此字句來回復或轉移您的帳號至新的裝置上。";
"modal_clear_all_data_title" = "清除所有資料"; "modal_clear_all_data_title" = "清除所有資料";
"modal_clear_all_data_explanation" = "這樣做將永久清除您的訊息,帳號與聯絡人。"; "modal_clear_all_data_explanation" = "這樣做將永久清除您的訊息,帳號與聯絡人。";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "你要清附這部裝置的資料,還是你整個賬戶的資料?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "數據已被1個服務節點刪除。節點ID: %@";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "數據沒有被%@個服務節點刪除。節點ID: %@";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "僅限裝置";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "整個賬戶";
"vc_qr_code_title" = "QR Code"; "vc_qr_code_title" = "QR Code";
"vc_qr_code_view_my_qr_code_tab_title" = "查看我的 QR Code"; "vc_qr_code_view_my_qr_code_tab_title" = "查看我的 QR Code";
"vc_qr_code_view_scan_qr_code_tab_title" = "掃描 QR Code"; "vc_qr_code_view_scan_qr_code_tab_title" = "掃描 QR Code";
@ -555,57 +561,77 @@
"modal_open_url_title" = "打開連結?"; "modal_open_url_title" = "打開連結?";
"modal_open_url_explanation" = "您確定要打開 %@ 嗎?"; "modal_open_url_explanation" = "您確定要打開 %@ 嗎?";
"modal_open_url_button_title" = "打開"; "modal_open_url_button_title" = "打開";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "複製鏈結";
"modal_blocked_title" = "解除封鎖 %@ 嗎?"; "modal_blocked_title" = "解除封鎖 %@ 嗎?";
"modal_blocked_explanation" = "您確定要解除封鎖 %@ 嗎?"; "modal_blocked_explanation" = "您確定要解除封鎖 %@ 嗎?";
"modal_blocked_button_title" = "解除封鎖"; "modal_blocked_button_title" = "解除封鎖";
"modal_link_previews_title" = "是否要啟用連結預覽?"; "modal_link_previews_title" = "是否要啟用連結預覽?";
"modal_link_previews_explanation" = "啟用連結預覽將會讓您送出與接收的 URLs 啟用預覽,這是一項好用的功能,但是 Session 會需要連結這些網站來產生預覽,您可以隨時關閉連結預覽功能。"; "modal_link_previews_explanation" = "啟用連結預覽將會讓您送出與接收的 URLs 啟用預覽,這是一項好用的功能,但是 Session 會需要連結這些網站來產生預覽,您可以隨時關閉連結預覽功能。";
"modal_link_previews_button_title" = "啟用"; "modal_link_previews_button_title" = "啟用";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "語音和視頻通話";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "當前的語音/視頻通話機制會將 IP 地址暴露給 Oxen Foundation 服務器以及與您通話的用戶。";
"modal_share_logs_title" = "分享歷史紀錄";
"modal_share_logs_explanation" = "您想輸出及分享應用程式的歷史紀錄以供我們做故障檢修嗎?";
"vc_share_title" = "分享至 Session"; "vc_share_title" = "分享至 Session";
"vc_share_loading_message" = "準備附件中⋯"; "vc_share_loading_message" = "準備附件中⋯";
"vc_share_sending_message" = "傳送中⋯"; "vc_share_sending_message" = "傳送中⋯";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "無法載入不安全連結的預覽";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "無法載入預覽";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "已停用預覽連結";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings.";
"view_open_group_invitation_description" = "打開群組邀請"; "view_open_group_invitation_description" = "打開群組邀請";
"vc_conversation_settings_invite_button_title" = "新增成員"; "vc_conversation_settings_invite_button_title" = "新增成員";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "FAQ";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "回饋 / 意見調查";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "除錯紀錄";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "警告";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "這是你的復原密碼。獲得這段復原密碼的任何人都可以全權存取你的帳戶。";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "發送";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "提及我時才通知";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "啟用後,你將只會收到提及你的訊息之通知。";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "目前啟用提及我時才通知";
"message_deleted" = "This message has been deleted"; "message_deleted" = "此段訊息經已刪除";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "只為我自己刪除";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "從所有人的裝置上刪除";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "為我和 %@ 刪除";
"context_menu_reply" = "Reply"; "context_menu_reply" = "回覆";
"context_menu_save" = "Save"; "context_menu_save" = "儲存";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "封鎖用戶";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "封鎖並刪除所有";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "增加附件檔案";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "文件";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "前往照片圖庫";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "相機";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "摺疊附件選項";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "備援暗語無效";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "恢復短語無效";
"DISMISS_BUTTON_TEXT" = "關閉";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "設定";
"voice_call" = "Voice Call"; "call_outgoing" = "You called %@";
"video_call" = "Video Call"; "call_incoming" = "%@ 來電";
"APN_Message" = "You've got a new message"; "call_missed" = "錯過 %@ 的來電";
"system_mode_theme" = "System"; "call_rejected" = "通話被拒絕";
"dark_mode_theme" = "Dark"; "call_cancelled" = "通話被取消";
"light_mode_theme" = "Light"; "call_timeout" = "未接電話";
"voice_call" = "語音通話";
"video_call" = "視頻通話";
"APN_Message" = "你有一條新訊息。";
"APN_Collapsed_Messages" = "你有 %@ 條新訊息。";
"system_mode_theme" = "按系統設定變更";
"dark_mode_theme" = "深色風格";
"light_mode_theme" = "明亮風格";
"PIN_BUTTON_TEXT" = "置頂";
"UNPIN_BUTTON_TEXT" = "取消置頂";
"modal_call_missed_tips_title" = "未接來電";
"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings.";
"meida_saved" = "%@ 儲存了媒體";
"screenshot_taken" = "%@ 擷取了螢幕畫面";
"SEARCH_SECTION_CONTACTS" = "Contacts and Groups";
"SEARCH_SECTION_MESSAGES" = "Messages";
"SEARCH_SECTION_RECENT" = "Recent";
"RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "last message: %@";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "MESSAGE_REQUESTS_TITLE" = "Message Requests";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All";

View File

@ -25,15 +25,15 @@
/* Generic filename for an attachment with no known name */ /* Generic filename for an attachment with no known name */
"ATTACHMENT_DEFAULT_FILENAME" = "附件"; "ATTACHMENT_DEFAULT_FILENAME" = "附件";
/* The title of the 'attachment error' alert. */ /* The title of the 'attachment error' alert. */
"ATTACHMENT_ERROR_ALERT_TITLE" = "附件发送错误"; "ATTACHMENT_ERROR_ALERT_TITLE" = "发送附件时出错";
/* Attachment error message for image attachments which could not be converted to JPEG */ /* Attachment error message for image attachments which could not be converted to JPEG */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "无法转图片。"; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "无法转码该图片。";
/* Attachment error message for video attachments which could not be converted to MP4 */ /* Attachment error message for video attachments which could not be converted to MP4 */
"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "无法处理该视频。"; "ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "无法解析该视频。";
/* Attachment error message for image attachments which cannot be parsed */ /* Attachment error message for image attachments which cannot be parsed */
"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "无法解析图片。"; "ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "无法识别图片。";
/* Attachment error message for image attachments in which metadata could not be removed */ /* Attachment error message for image attachments in which metadata could not be removed */
"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "无法删除图片的元数据。"; "ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "无法清除图片元数据。";
/* Attachment error message for image attachments which could not be resized */ /* Attachment error message for image attachments which could not be resized */
"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "无法调整图像大小。"; "ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "无法调整图像大小。";
/* Attachment error message for attachments whose data exceed file size limits */ /* Attachment error message for attachments whose data exceed file size limits */
@ -43,7 +43,7 @@
/* Attachment error message for attachments with an invalid file format */ /* Attachment error message for attachments with an invalid file format */
"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "附件的文件格式无效。"; "ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "附件的文件格式无效。";
/* Attachment error message for attachments without any data */ /* Attachment error message for attachments without any data */
"ATTACHMENT_ERROR_MISSING_DATA" = "附件为空。"; "ATTACHMENT_ERROR_MISSING_DATA" = "附件。";
/* Alert title when picking a document fails for an unknown reason */ /* Alert title when picking a document fails for an unknown reason */
"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "文件选取失败。"; "ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "文件选取失败。";
/* Alert body when picking a document fails because user picked a directory/bundle */ /* Alert body when picking a document fails because user picked a directory/bundle */
@ -57,7 +57,7 @@
/* Error indicating that the app received an invalid response from CloudKit. */ /* Error indicating that the app received an invalid response from CloudKit. */
"BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "服务端返回无效响应"; "BACKUP_EXPORT_ERROR_INVALID_CLOUDKIT_RESPONSE" = "服务端返回无效响应";
/* Indicates that the cloud is being cleaned up. */ /* Indicates that the cloud is being cleaned up. */
"BACKUP_EXPORT_PHASE_CLEAN_UP" = "正在清备份"; "BACKUP_EXPORT_PHASE_CLEAN_UP" = "正在清备份";
/* Indicates that the backup export is being configured. */ /* Indicates that the backup export is being configured. */
"BACKUP_EXPORT_PHASE_CONFIGURATION" = "正在准备备份"; "BACKUP_EXPORT_PHASE_CONFIGURATION" = "正在准备备份";
/* Indicates that the database data is being exported. */ /* Indicates that the database data is being exported. */
@ -94,8 +94,8 @@
"BLOCK_LIST_BLOCK_BUTTON" = "加入黑名单"; "BLOCK_LIST_BLOCK_BUTTON" = "加入黑名单";
/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ /* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */
"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "屏蔽 %@"; "BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "屏蔽 %@";
/* A format for the 'unblock conversation' action sheet title. Embeds the {{conversation title}}. */ /* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */
"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "从黑名单中移除 %@ 吗?"; "BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "取消屏蔽 %@吗?";
/* Button label for the 'unblock' button */ /* Button label for the 'unblock' button */
"BLOCK_LIST_UNBLOCK_BUTTON" = "从黑名单中移除"; "BLOCK_LIST_UNBLOCK_BUTTON" = "从黑名单中移除";
/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ /* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */
@ -105,7 +105,7 @@
/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ /* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */
"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "已取消屏蔽 %@。"; "BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "已取消屏蔽 %@。";
/* Alert body after unblocking a group. */ /* Alert body after unblocking a group. */
"BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "现有成员可再次将您加入群组。"; "BLOCK_LIST_VIEW_UNBLOCKED_GROUP_ALERT_BODY" = "现有成员现在再次将您加入群组。";
/* An explanation of the consequences of blocking another user. */ /* An explanation of the consequences of blocking another user. */
"BLOCK_USER_BEHAVIOR_EXPLANATION" = "被屏蔽的用户将无法向您发起通话,或发送消息。"; "BLOCK_USER_BEHAVIOR_EXPLANATION" = "被屏蔽的用户将无法向您发起通话,或发送消息。";
/* Label for generic done button. */ /* Label for generic done button. */
@ -123,7 +123,7 @@
/* Error indicating that the app was prevented from accessing the user's iCloud account. */ /* Error indicating that the app was prevented from accessing the user's iCloud account. */
"CLOUDKIT_STATUS_RESTRICTED" = "Session访问您iCloud账户以备份数据的请求被拒绝了。请在iOS设置中允许Session访问iCloud账户来备份您在Session中的数据。"; "CLOUDKIT_STATUS_RESTRICTED" = "Session访问您iCloud账户以备份数据的请求被拒绝了。请在iOS设置中允许Session访问iCloud账户来备份您在Session中的数据。";
/* Alert body */ /* Alert body */
"CONFIRM_LEAVE_GROUP_DESCRIPTION" = "您将无法在这个群聊里面发送和接收消息。"; "CONFIRM_LEAVE_GROUP_DESCRIPTION" = "您将无法在此群组中继续发送或接收消息。";
/* Alert title */ /* Alert title */
"CONFIRM_LEAVE_GROUP_TITLE" = "确定离开群聊?"; "CONFIRM_LEAVE_GROUP_TITLE" = "确定离开群聊?";
/* Message for the 'conversation delete confirmation' alert. */ /* Message for the 'conversation delete confirmation' alert. */
@ -145,7 +145,7 @@
/* label for 'mute thread' cell in conversation settings */ /* label for 'mute thread' cell in conversation settings */
"CONVERSATION_SETTINGS_MUTE_LABEL" = "静音"; "CONVERSATION_SETTINGS_MUTE_LABEL" = "静音";
/* Indicates that the current thread is not muted. */ /* Indicates that the current thread is not muted. */
"CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "未静音"; "CONVERSATION_SETTINGS_MUTE_NOT_MUTED" = "未静音";
/* Label for button to mute a thread for a day. */ /* Label for button to mute a thread for a day. */
"CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "静音一天"; "CONVERSATION_SETTINGS_MUTE_ONE_DAY_ACTION" = "静音一天";
/* Label for button to mute a thread for a hour. */ /* Label for button to mute a thread for a hour. */
@ -175,17 +175,17 @@
/* The present; the current time. */ /* The present; the current time. */
"DATE_NOW" = "现在"; "DATE_NOW" = "现在";
/* The current day. */ /* The current day. */
"DATE_TODAY" = "今"; "DATE_TODAY" = "今";
/* The day before today. */ /* The day before today. */
"DATE_YESTERDAY" = "昨"; "DATE_YESTERDAY" = "昨";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"DISAPPEARING_MESSAGES" = "阅后即焚"; "DISAPPEARING_MESSAGES" = "阅后即焚";
/* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */ /* Info Message when added to a group which has enabled disappearing messages. Embeds {{time amount}} before messages disappear, see the *_TIME_AMOUNT strings for context. */
"DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "此对话中的消息将在%@后消失。"; "DISAPPEARING_MESSAGES_CONFIGURATION_GROUP_EXISTING_FORMAT" = "此对话中的消息将在%@后消失。";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"EDIT_GROUP_ACTION" = "编辑群"; "EDIT_GROUP_ACTION" = "编辑群";
/* Label indicating media gallery is empty */ /* Label indicating media gallery is empty */
"GALLERY_TILES_EMPTY_GALLERY" = "此对话中没有您的媒体数据。"; "GALLERY_TILES_EMPTY_GALLERY" = "此对话中没有媒体。";
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "正在加载新媒体..."; "GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "正在加载新媒体...";
/* Label indicating loading is in progress */ /* Label indicating loading is in progress */
@ -205,9 +205,9 @@
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_CREATED" = "组群已成功创建。"; "GROUP_CREATED" = "组群已成功创建。";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_JOINED" = "%@ 加入了群组。"; "GROUP_MEMBER_JOINED" = " %@ 加入了群组。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_LEFT" = "%@ 已退出群组。"; "GROUP_MEMBER_LEFT" = " %@ 已退出群组。 ";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
"GROUP_MEMBER_REMOVED" = "%@ 已被移出群组。"; "GROUP_MEMBER_REMOVED" = "%@ 已被移出群组。";
/* No comment provided by engineer. */ /* No comment provided by engineer. */
@ -231,13 +231,13 @@
/* Confirmation button within contextual alert */ /* Confirmation button within contextual alert */
"LEAVE_BUTTON_TITLE" = "离开群组"; "LEAVE_BUTTON_TITLE" = "离开群组";
/* table cell label in conversation settings */ /* table cell label in conversation settings */
"LEAVE_GROUP_ACTION" = "离开群"; "LEAVE_GROUP_ACTION" = "离开群";
/* Title for the 'long text message' view. */ /* Title for the 'long text message' view. */
"LONG_TEXT_VIEW_TITLE" = "消息"; "LONG_TEXT_VIEW_TITLE" = "消息";
/* nav bar button item */ /* nav bar button item */
"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "所有媒体"; "MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "所有媒体";
/* media picker option to choose from library */ /* media picker option to choose from library */
"MEDIA_FROM_LIBRARY_BUTTON" = "相册"; "MEDIA_FROM_LIBRARY_BUTTON" = "照片图库";
/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ /* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */
"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "删除%d条消息"; "MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "删除%d条消息";
/* Confirmation button text to delete selected media message from the gallery */ /* Confirmation button text to delete selected media message from the gallery */
@ -251,7 +251,7 @@
/* Section header in media gallery collection view */ /* Section header in media gallery collection view */
"MEDIA_GALLERY_THIS_MONTH_HEADER" = "这个月"; "MEDIA_GALLERY_THIS_MONTH_HEADER" = "这个月";
/* message status for message delivered to their recipient. */ /* message status for message delivered to their recipient. */
"MESSAGE_STATUS_DELIVERED" = "已传达"; "MESSAGE_STATUS_DELIVERED" = "已发送";
/* status message for failed messages */ /* status message for failed messages */
"MESSAGE_STATUS_FAILED" = "发送失败。"; "MESSAGE_STATUS_FAILED" = "发送失败。";
/* status message for failed messages */ /* status message for failed messages */
@ -267,7 +267,7 @@
/* status message while attachment is uploading */ /* status message while attachment is uploading */
"MESSAGE_STATUS_UPLOADING" = "上传中..."; "MESSAGE_STATUS_UPLOADING" = "上传中...";
/* Alert body when user has previously denied media library access */ /* Alert body when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "您可在”iOS 设置“中启用此权限。"; "MISSING_MEDIA_LIBRARY_PERMISSION_MESSAGE" = "您可在 iOS 设置中启用此权限。";
/* Alert title when user has previously denied media library access */ /* Alert title when user has previously denied media library access */
"MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "您授予照片访问权限后Session 才能启用此功能。"; "MISSING_MEDIA_LIBRARY_PERMISSION_TITLE" = "您授予照片访问权限后Session 才能启用此功能。";
/* An explanation of the consequences of muting a thread. */ /* An explanation of the consequences of muting a thread. */
@ -297,7 +297,7 @@
/* Info Message when {{other user}} disables or doesn't support disappearing messages */ /* Info Message when {{other user}} disables or doesn't support disappearing messages */
"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 取消了阅后即焚。"; "OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 取消了阅后即焚。";
/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 设置了消息 %@ 后消失。"; "OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ 将阅后即焚时长设为 %@。";
/* alert title, generic error preventing user from capturing a photo */ /* alert title, generic error preventing user from capturing a photo */
"PHOTO_CAPTURE_GENERIC_ERROR" = "无法拍摄图片。"; "PHOTO_CAPTURE_GENERIC_ERROR" = "无法拍摄图片。";
/* alert title */ /* alert title */
@ -307,15 +307,15 @@
/* label for system photo collections which have no name. */ /* label for system photo collections which have no name. */
"PHOTO_PICKER_UNNAMED_COLLECTION" = "未命名的相册"; "PHOTO_PICKER_UNNAMED_COLLECTION" = "未命名的相册";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_MARKREAD" = "Mark as Read"; "PUSH_MANAGER_MARKREAD" = "标记为已读";
/* Notification action button title */ /* Notification action button title */
"PUSH_MANAGER_REPLY" = "Reply"; "PUSH_MANAGER_REPLY" = "回复";
/* alert body during registration */ /* alert body during registration */
"REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "在验证发给你的验证码之前,我们无法激活你的帐户."; "REGISTRATION_ERROR_BLANK_VERIFICATION_CODE" = "在验证发给你的验证码之前,我们无法激活你的帐户.";
/* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */ /* Indicates a delay of zero seconds, and that 'screen lock activity' will timeout immediately. */
"SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "立即"; "SCREEN_LOCK_ACTIVITY_TIMEOUT_NONE" = "立即";
/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ /* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */
"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "验证以打开Session"; "SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "验证以打开 Session";
/* Title for alert indicating that screen lock could not be unlocked. */ /* Title for alert indicating that screen lock could not be unlocked. */
"SCREEN_LOCK_UNLOCK_FAILED" = "认证失败"; "SCREEN_LOCK_UNLOCK_FAILED" = "认证失败";
/* alert title when user attempts to leave the send media flow when they have an in-progress album */ /* alert title when user attempts to leave the send media flow when they have an in-progress album */
@ -371,9 +371,15 @@
/* Setting for enabling & disabling link previews. */ /* Setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS" = "发送链接预览"; "SETTINGS_LINK_PREVIEWS" = "发送链接预览";
/* Footer for setting for enabling & disabling link previews. */ /* Footer for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_FOOTER" = "现支持Imgur, Instagram, Pinterest, Reddit, 以及YouTube的链接预览."; "SETTINGS_LINK_PREVIEWS_FOOTER" = "大多数URL都支持链接预览。";
/* Header for setting for enabling & disabling link previews. */ /* Header for setting for enabling & disabling link previews. */
"SETTINGS_LINK_PREVIEWS_HEADER" = "链接预览"; "SETTINGS_LINK_PREVIEWS_HEADER" = "链接预览";
/* Setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS" = "语音和视频通话";
/* Footer for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_FOOTER" = "允许访问以接听其他用户的语音和视频通话。";
/* Header for setting for enabling & disabling voice & video calls. */
"SETTINGS_CALLS_HEADER" = "通话";
/* table section header */ /* table section header */
"SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知内容"; "SETTINGS_NOTIFICATION_CONTENT_TITLE" = "通知内容";
/* Label for the 'read receipts' setting. */ /* Label for the 'read receipts' setting. */
@ -429,17 +435,17 @@
/* Filename for voice messages. */ /* Filename for voice messages. */
"VOICE_MESSAGE_FILE_NAME" = "语音消息"; "VOICE_MESSAGE_FILE_NAME" = "语音消息";
/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ /* 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. */ /* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */
"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "语音消息"; "VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "语音消息";
/* Info Message when you disable disappearing messages */ /* Info Message when you disable disappearing messages */
"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "您取消了阅后即焚。"; "YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "您取消了阅后即焚。";
/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */ /* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */
"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "您设置了消息%@后消失。"; "YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "您将阅后即焚时长设置为%@。";
// MARK: - Session // MARK: - Session
"continue_2" = "继续"; "continue_2" = "继续";
"copy" = "复制"; "copy" = "拷贝";
"invalid_url" = "无效链接"; "invalid_url" = "无效链接";
"next" = "下一步"; "next" = "下一步";
"share" = "共享"; "share" = "共享";
"invalid_session_id" = "无效的Session ID"; "invalid_session_id" = "无效的Session ID";
@ -461,12 +467,12 @@
"vc_restore_seed_text_field_hint" = "输入您的恢复口令"; "vc_restore_seed_text_field_hint" = "输入您的恢复口令";
"vc_link_device_title" = "关联设备"; "vc_link_device_title" = "关联设备";
"vc_link_device_scan_qr_code_tab_title" = "扫描二维码"; "vc_link_device_scan_qr_code_tab_title" = "扫描二维码";
"vc_display_name_title_2" = "选择您想显示的名称"; "vc_display_name_title_2" = "选择您的昵称";
"vc_display_name_explanation" = "这就是您在使用Session时的名字。它可以是您的真实姓名别名或您喜欢的其他任何名称。"; "vc_display_name_explanation" = "这就是您在使用Session时的名字。它可以是您的真实姓名别名或您喜欢的其他任何名称。";
"vc_display_name_text_field_hint" = "输入您想显示的名称"; "vc_display_name_text_field_hint" = "输入称";
"vc_display_name_display_name_missing_error" = "请设定一个称"; "vc_display_name_display_name_missing_error" = "请设定一个称";
"vc_display_name_display_name_too_long_error" = "请设定一个较短的名称"; "vc_display_name_display_name_too_long_error" = "请选择一个更短的昵称";
"vc_pn_mode_recommended_option_tag" = "推荐选项"; "vc_pn_mode_recommended_option_tag" = "推荐选项";
"vc_pn_mode_no_option_picked_modal_title" = "请选择一个选项"; "vc_pn_mode_no_option_picked_modal_title" = "请选择一个选项";
"vc_home_empty_state_message" = "您还没有任何联系人"; "vc_home_empty_state_message" = "您还没有任何联系人";
"vc_home_empty_state_button_title" = "开始对话"; "vc_home_empty_state_button_title" = "开始对话";
@ -518,11 +524,11 @@
"modal_seed_explanation" = "这是您的恢复口令。您可以通过该口令将Session ID还原或迁移到新设备上。"; "modal_seed_explanation" = "这是您的恢复口令。您可以通过该口令将Session ID还原或迁移到新设备上。";
"modal_clear_all_data_title" = "清除所有数据"; "modal_clear_all_data_title" = "清除所有数据";
"modal_clear_all_data_explanation" = "这将永久删除您的消息、对话和联系人。"; "modal_clear_all_data_explanation" = "这将永久删除您的消息、对话和联系人。";
"modal_clear_all_data_explanation_2" = "Would you like to clear only this device, or delete your entire account?"; "modal_clear_all_data_explanation_2" = "你想只清除这个设备,还是删除你的整个账户?";
"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; "dialog_clear_all_data_deletion_failed_1" = "数据未被一个服务节点删除。服务节点ID %@";
"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; "dialog_clear_all_data_deletion_failed_2" = "数据未被 %@ 服务节点删除。服务节点ID %@";
"modal_clear_all_data_device_only_button_title" = "Device Only"; "modal_clear_all_data_device_only_button_title" = "仅设备";
"modal_clear_all_data_entire_account_button_title" = "Entire Account"; "modal_clear_all_data_entire_account_button_title" = "整个账户";
"vc_qr_code_title" = "二维码"; "vc_qr_code_title" = "二维码";
"vc_qr_code_view_my_qr_code_tab_title" = "查看我的二维码"; "vc_qr_code_view_my_qr_code_tab_title" = "查看我的二维码";
"vc_qr_code_view_scan_qr_code_tab_title" = "扫描二维码"; "vc_qr_code_view_scan_qr_code_tab_title" = "扫描二维码";
@ -555,73 +561,93 @@
"modal_open_url_title" = "打开链接?"; "modal_open_url_title" = "打开链接?";
"modal_open_url_explanation" = "确定要打开 %@ 吗?"; "modal_open_url_explanation" = "确定要打开 %@ 吗?";
"modal_open_url_button_title" = "打开"; "modal_open_url_button_title" = "打开";
"modal_copy_url_button_title" = "Copy Link"; "modal_copy_url_button_title" = "复制链接";
"modal_blocked_title" = "从黑名单中移除 %@ 吗?"; "modal_blocked_title" = "从黑名单中移除 %@ 吗?";
"modal_blocked_explanation" = "确定解除屏蔽%@吗?"; "modal_blocked_explanation" = "确定解除屏蔽%@吗?";
"modal_blocked_button_title" = "解除屏蔽"; "modal_blocked_button_title" = "解除屏蔽";
"modal_link_previews_title" = "是否启用链接预览?"; "modal_link_previews_title" = "是否启用链接预览?";
"modal_link_previews_explanation" = "链接预览将为您发送或收到的URL生成预览内容。 该功能非常实用但Session需要访问该链接指向的网站以生成预览。您可以随后在会话设置中禁用该功能。"; "modal_link_previews_explanation" = "链接预览将为您发送或收到的URL生成预览内容。 该功能非常实用但Session需要访问该链接指向的网站以生成预览。您可以随后在会话设置中禁用该功能。";
"modal_link_previews_button_title" = "启用"; "modal_link_previews_button_title" = "启用";
"modal_share_logs_title" = "Share Logs"; "modal_call_title" = "语音和视频通话";
"modal_share_logs_explanation" = "Would you like to export your application logs to be able to share for troubleshooting?"; "modal_call_explanation" = "当前的语音/视频通话机制会将 IP 地址暴露给 Oxen Foundation 服务器以及与您通话的用户。";
"modal_share_logs_title" = "分享日志";
"modal_share_logs_explanation" = "导出日志以供分享和排除故障?";
"vc_share_title" = "分享到 Session"; "vc_share_title" = "分享到 Session";
"vc_share_loading_message" = "正在准备附件......"; "vc_share_loading_message" = "正在准备附件......";
"vc_share_sending_message" = "正在发送…"; "vc_share_sending_message" = "正在发送…";
"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; "vc_share_link_previews_unsecure" = "未加载非安全链接预览";
"vc_share_link_previews_error" = "Unable to load preview"; "vc_share_link_previews_error" = "未能加载预览";
"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; "vc_share_link_previews_disabled_title" = "链接预览已禁用";
"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; "vc_share_link_previews_disabled_explanation" = "开启链接预览将为您发送或收到的URL生成预览内容。 该功能非常实用但Session需要访问该链接指向的网站以生成预览。\n\n您可以随后在会话设置中禁用该功能。";
"view_open_group_invitation_description" = "打开群组邀请"; "view_open_group_invitation_description" = "打开群组邀请";
"vc_conversation_settings_invite_button_title" = "添加成员"; "vc_conversation_settings_invite_button_title" = "添加成员";
"vc_settings_faq_button_title" = "FAQ"; "vc_settings_faq_button_title" = "常见问题";
"vc_settings_survey_button_title" = "Feedback / Survey"; "vc_settings_survey_button_title" = "意见反馈 / 问卷调查";
"vc_settings_support_button_title" = "Debug Log"; "vc_settings_support_button_title" = "调试日志";
"modal_send_seed_title" = "Warning"; "modal_send_seed_title" = "警告";
"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; "modal_send_seed_explanation" = "这是您的恢复口令。如果您将其发送给某人,他们将完全有权访问您的帐户。";
"modal_send_seed_send_button_title" = "Send"; "modal_send_seed_send_button_title" = "发送";
"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; "vc_conversation_settings_notify_for_mentions_only_title" = "仅在提及时通知";
"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; "vc_conversation_settings_notify_for_mentions_only_explanation" = "启用后,您只会收到提及您的消息通知。";
"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; "view_conversation_title_notify_for_mentions_only" = "仅在提及时通知";
"message_deleted" = "This message has been deleted"; "message_deleted" = "此消息已被删除";
"delete_message_for_me" = "Delete just for me"; "delete_message_for_me" = "仅为我删除";
"delete_message_for_everyone" = "Delete for everyone"; "delete_message_for_everyone" = "为所有人删除";
"delete_message_for_me_and_recipient" = "Delete for me and %@"; "delete_message_for_me_and_recipient" = "为我和 %@ 删除";
"context_menu_reply" = "Reply"; "context_menu_reply" = "回复";
"context_menu_save" = "Save"; "context_menu_save" = "保存";
"context_menu_ban_user" = "Ban User"; "context_menu_ban_user" = "封禁用户";
"context_menu_ban_and_delete_all" = "Ban and Delete All"; "context_menu_ban_and_delete_all" = "封禁并删除全部";
"accessibility_expanding_attachments_button" = "Add attachments"; "accessibility_expanding_attachments_button" = "添加附件";
"accessibility_gif_button" = "Gif"; "accessibility_gif_button" = "Gif";
"accessibility_document_button" = "Document"; "accessibility_document_button" = "文件";
"accessibility_library_button" = "Photo library"; "accessibility_library_button" = "照片库";
"accessibility_camera_button" = "Camera"; "accessibility_camera_button" = "相机";
"accessibility_main_button_collapse" = "Collapse attachment options"; "accessibility_main_button_collapse" = "收起附件选项";
"invalid_recovery_phrase" = "Invalid Recovery Phrase"; "invalid_recovery_phrase" = "恢复口令无效";
"DISMISS_BUTTON_TEXT" = "Dismiss"; "invalid_recovery_phrase" = "恢复口令无效";
"DISMISS_BUTTON_TEXT" = "取消";
/* Button text which opens the settings app */ /* Button text which opens the settings app */
"OPEN_SETTINGS_BUTTON" = "Settings"; "OPEN_SETTINGS_BUTTON" = "设置";
"voice_call" = "Voice Call"; "call_outgoing" = "您呼叫了 %@";
"video_call" = "Video Call"; "call_incoming" = "%@ 来电";
"APN_Message" = "You've got a new message"; "call_missed" = "来自 %@ 的未接来电";
"system_mode_theme" = "System"; "call_rejected" = "通话被拒绝";
"dark_mode_theme" = "Dark"; "call_cancelled" = "通话被取消";
"light_mode_theme" = "Light"; "call_timeout" = "未接电话";
"MESSAGE_REQUESTS_TITLE" = "Message Requests"; "voice_call" = "语音通话";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; "video_call" = "视频通话";
"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; "APN_Message" = "您有一条新消息。";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; "APN_Collapsed_Messages" = "你有 %@ 条新消息。";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; "system_mode_theme" = "系统";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; "dark_mode_theme" = "深色";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "An error occurred when trying to accept this message request"; "light_mode_theme" = "明亮";
"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request."; "PIN_BUTTON_TEXT" = "置顶";
"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; "UNPIN_BUTTON_TEXT" = "取消置顶";
"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; "modal_call_missed_tips_title" = "未接来电";
"TXT_HIDE_TITLE" = "Hide"; "modal_call_missed_tips_explanation" = "未接听 '%@',因为您需要在隐私设置中启用“语音和视频通话”权限。";
"TXT_DELETE_ACCEPT" = "Accept"; "meida_saved" = "%@ 保存了媒体内容。";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "Open Group"; "screenshot_taken" = "%@ 进行了截图。";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "Direct Message"; "SEARCH_SECTION_CONTACTS" = "联系人和群组";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "Closed Group"; "SEARCH_SECTION_MESSAGES" = "消息";
"modal_call_permission_request_title" = "Call Permissions Required"; "SEARCH_SECTION_RECENT" = "最近";
"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; "RECENT_SEARCH_LAST_MESSAGE_DATETIME" = "最后消息: %@";
"MESSAGE_REQUESTS_TITLE" = "消息请求";
"MESSAGE_REQUESTS_EMPTY_TEXT" = "没有待处理的消息请求";
"MESSAGE_REQUESTS_CLEAR_ALL" = "清除所有";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "您确定要清除所有消息请求吗?";
"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "清除";
"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "您确定要删除此消息请求吗?";
"MESSAGE_REQUESTS_APPROVAL_ERROR_MESSAGE" = "尝试接受此消息请求时发生错误";
"MESSAGE_REQUESTS_INFO" = "发送消息给此用户将自动接受他们的消息请求。";
"MESSAGE_REQUESTS_ACCEPTED" = "您的消息请求已被接受。";
"MESSAGE_REQUESTS_NOTIFICATION" = "您有一个新的消息请求";
"TXT_HIDE_TITLE" = "隐藏";
"TXT_DELETE_ACCEPT" = "接受";
"NEW_CONVERSATION_MENU_OPEN_GROUP" = "公开群组";
"NEW_CONVERSATION_MENU_DIRECT_MESSAGE" = "私信";
"NEW_CONVERSATION_MENU_CLOSED_GROUP" = "私密群组";
"modal_call_permission_request_title" = "请授予通话权限";
"modal_call_permission_request_explanation" = "您可以在隐私设置中启用“语音和视频通话”权限。";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred";
"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; "DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later";

View File

@ -62,10 +62,7 @@ class BaseVC : UIViewController {
navigationBar.barTintColor = Colors.navigationBarBackground navigationBar.barTintColor = Colors.navigationBarBackground
} }
// Back button (to appear on pushed screen) navigationItem.backButtonTitle = ""
let backButton = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
backButton.tintColor = Colors.text
navigationItem.backBarButtonItem = backButton
} }
internal func setNavBarTitle(_ title: String, customFontSize: CGFloat? = nil) { internal func setNavBarTitle(_ title: String, customFontSize: CGFloat? = nil) {

View File

@ -33,14 +33,14 @@ public final class BackgroundPoller : NSObject {
private static func pollForClosedGroupMessages() -> [Promise<Void>] { private static func pollForClosedGroupMessages() -> [Promise<Void>] {
let publicKeys = Storage.shared.getUserClosedGroupPublicKeys() let publicKeys = Storage.shared.getUserClosedGroupPublicKeys()
return publicKeys.map { getMessages(for: $0) } return publicKeys.map { getClosedGroupMessages(for: $0) }
} }
private static func getMessages(for publicKey: String) -> Promise<Void> { private static func getMessages(for publicKey: String) -> Promise<Void> {
return SnodeAPI.getSwarm(for: publicKey).then(on: DispatchQueue.main) { swarm -> Promise<Void> in return SnodeAPI.getSwarm(for: publicKey).then(on: DispatchQueue.main) { swarm -> Promise<Void> in
guard let snode = swarm.randomElement() else { throw SnodeAPI.Error.generic } guard let snode = swarm.randomElement() else { throw SnodeAPI.Error.generic }
return attempt(maxRetryCount: 4, recoveringOn: DispatchQueue.main) { return attempt(maxRetryCount: 4, recoveringOn: DispatchQueue.main) {
return SnodeAPI.getRawMessages(from: snode, associatedWith: publicKey).then(on: DispatchQueue.main) { rawResponse -> Promise<Void> in SnodeAPI.getRawMessages(from: snode, associatedWith: publicKey).then(on: DispatchQueue.main) { rawResponse -> Promise<Void> in
let (messages, lastRawMessage) = SnodeAPI.parseRawMessagesResponse(rawResponse, from: snode, associatedWith: publicKey) let (messages, lastRawMessage) = SnodeAPI.parseRawMessagesResponse(rawResponse, from: snode, associatedWith: publicKey)
let promises = messages.compactMap { json -> Promise<Void>? in let promises = messages.compactMap { json -> Promise<Void>? in
// Use a best attempt approach here; we don't want to fail the entire process if one of the // Use a best attempt approach here; we don't want to fail the entire process if one of the
@ -50,13 +50,55 @@ public final class BackgroundPoller : NSObject {
let job = MessageReceiveJob(data: data, serverHash: json["hash"] as? String, isBackgroundPoll: true) let job = MessageReceiveJob(data: data, serverHash: json["hash"] as? String, isBackgroundPoll: true)
return job.execute() return job.execute()
} }
// Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value // Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value
SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, associatedWith: publicKey, from: lastRawMessage) SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, namespace: SnodeAPI.defaultNamespace, associatedWith: publicKey, from: lastRawMessage)
return when(fulfilled: promises) // The promise returned by MessageReceiveJob never rejects return when(fulfilled: promises) // The promise returned by MessageReceiveJob never rejects
} }
} }
} }
} }
private static func getClosedGroupMessages(for publicKey: String) -> Promise<Void> {
return SnodeAPI.getSwarm(for: publicKey).then(on: DispatchQueue.main) { swarm -> Promise<Void> in
guard let snode = swarm.randomElement() else { throw SnodeAPI.Error.generic }
return attempt(maxRetryCount: 4, recoveringOn: DispatchQueue.main) {
var promises: [SnodeAPI.RawResponsePromise] = []
var namespaces: [Int] = []
// We have to poll for both namespace 0 and -10 when hardfork == 19 && softfork == 0
if SnodeAPI.hardfork <= 19, SnodeAPI.softfork == 0 {
let promise = SnodeAPI.getRawClosedGroupMessagesFromDefaultNamespace(from: snode, associatedWith: publicKey)
promises.append(promise)
namespaces.append(SnodeAPI.defaultNamespace)
}
if SnodeAPI.hardfork >= 19 && SnodeAPI.softfork >= 0 {
let promise = SnodeAPI.getRawMessages(from: snode, associatedWith: publicKey, authenticated: false)
promises.append(promise)
namespaces.append(SnodeAPI.closedGroupNamespace)
}
return when(resolved: promises).then(on: DispatchQueue.main) { results -> Promise<Void> in
var promises: [Promise<Void>] = []
var index = 0
for result in results {
if case .fulfilled(let rawResponse) = result {
let (messages, lastRawMessage) = SnodeAPI.parseRawMessagesResponse(rawResponse, from: snode, associatedWith: publicKey)
let jobPromises = messages.compactMap { json -> Promise<Void>? in
// Use a best attempt approach here; we don't want to fail the entire process if one of the
// messages failed to parse.
guard let envelope = SNProtoEnvelope.from(json),
let data = try? envelope.serializedData() else { return nil }
let job = MessageReceiveJob(data: data, serverHash: json["hash"] as? String, isBackgroundPoll: true)
return job.execute()
}
// Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value
SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, namespace: namespaces[index], associatedWith: publicKey, from: lastRawMessage)
promises += jobPromises
}
index += 1
}
return when(fulfilled: promises) // The promise returned by MessageReceiveJob never rejects
}
}
}
}
} }

View File

@ -9,11 +9,14 @@ public final class CallMessage : ControlMessage {
public var sdps: [String]? public var sdps: [String]?
public override var isSelfSendValid: Bool { public override var isSelfSendValid: Bool {
if case .answer = kind { return true } switch kind {
if case .endCall = kind { return true } case .answer, .endCall: return true
return false default: return false
}
} }
public override var shouldBeRetryable: Bool { true }
// NOTE: Multiple ICE candidates may be batched together for performance // NOTE: Multiple ICE candidates may be batched together for performance
// MARK: Kind // MARK: Kind

View File

@ -12,6 +12,13 @@ public final class ClosedGroupControlMessage : ControlMessage {
public override var isSelfSendValid: Bool { true } public override var isSelfSendValid: Bool { true }
public override var shouldBeRetryable: Bool {
switch kind {
case .new, .encryptionKeyPair: return true
default: return false
}
}
// MARK: Kind // MARK: Kind
public enum Kind : CustomStringConvertible { public enum Kind : CustomStringConvertible {
case new(publicKey: Data, name: String, encryptionKeyPair: ECKeyPair, members: [Data], admins: [Data], expirationTimer: UInt32) case new(publicKey: Data, name: String, encryptionKeyPair: ECKeyPair, members: [Data], admins: [Data], expirationTimer: UInt32)

View File

@ -15,6 +15,8 @@ public class Message : NSObject, NSCoding { // NSObject/NSCoding conformance is
public var ttl: UInt64 { 14 * 24 * 60 * 60 * 1000 } public var ttl: UInt64 { 14 * 24 * 60 * 60 * 1000 }
public var isSelfSendValid: Bool { false } public var isSelfSendValid: Bool { false }
public var shouldBeRetryable: Bool { false }
public override init() { } public override init() { }

View File

@ -859,7 +859,9 @@ extension MessageReceiver {
// Force a config sync to ensure all devices know the contact approval state if desired // Force a config sync to ensure all devices know the contact approval state if desired
guard forceConfigSync else { return } guard forceConfigSync else { return }
MessageSender.syncConfiguration(forceSyncNow: true).retainUntilComplete() transaction.addCompletionQueue(Threading.jobQueue) {
MessageSender.syncConfiguration(forceSyncNow: true).retainUntilComplete()
}
} }
public static func handleMessageRequestResponse(_ message: MessageRequestResponse, using transaction: Any) { public static func handleMessageRequestResponse(_ message: MessageRequestResponse, using transaction: Any) {

View File

@ -168,14 +168,14 @@ public enum MessageReceiver {
// If the message failed to process the first time around we retry it later (if the error is retryable). In this case the timestamp // If the message failed to process the first time around we retry it later (if the error is retryable). In this case the timestamp
// will already be in the database but we don't want to treat the message as a duplicate. The isRetry flag is a simple workaround // will already be in the database but we don't want to treat the message as a duplicate. The isRetry flag is a simple workaround
// for this issue. // for this issue.
if let message = message as? ClosedGroupControlMessage, case .new = message.kind { if message.shouldBeRetryable {
// Allow duplicates in this case to avoid the following situation: // Allow duplicates for new closed group & encryption key pair update:
// The app performed a background poll or received a push notification // The app performed a background poll or received a push notification
// This method was invoked and the received message timestamps table was updated // This method was invoked and the received message timestamps table was updated
// Processing wasn't finished // Processing wasn't finished
// The user doesn't see the new closed group // The user doesn't see the new closed group
} else if message.isKind(of: CallMessage.self) {
// Allow duplicates for all call messages // Allow duplicates for all call messages,
// The double checking will be done on message handling to make sure the messages are for the same ongoing call // The double checking will be done on message handling to make sure the messages are for the same ongoing call
} else { } else {
guard !Set(storage.getReceivedMessageTimestamps(using: transaction)).contains(envelope.timestamp) || isRetry else { throw Error.duplicateMessage } guard !Set(storage.getReceivedMessageTimestamps(using: transaction)).contains(envelope.timestamp) || isRetry else { throw Error.duplicateMessage }

View File

@ -204,7 +204,10 @@ public final class MessageSender : NSObject {
let base64EncodedData = wrappedMessage.base64EncodedString() let base64EncodedData = wrappedMessage.base64EncodedString()
let timestamp = UInt64(Int64(message.sentTimestamp!) + SnodeAPI.clockOffset) let timestamp = UInt64(Int64(message.sentTimestamp!) + SnodeAPI.clockOffset)
let snodeMessage = SnodeMessage(recipient: message.recipient!, data: base64EncodedData, ttl: message.ttl, timestamp: timestamp) let snodeMessage = SnodeMessage(recipient: message.recipient!, data: base64EncodedData, ttl: message.ttl, timestamp: timestamp)
SnodeAPI.sendMessage(snodeMessage).done(on: DispatchQueue.global(qos: .userInitiated)) { promises in SnodeAPI.sendMessage(snodeMessage,
isClosedGroupMessage: (kind == .closedGroupMessage),
isConfigMessage: message.isKind(of: ConfigurationMessage.self))
.done(on: DispatchQueue.global(qos: .userInitiated)) { promises in
var isSuccess = false var isSuccess = false
let promiseCount = promises.count let promiseCount = promises.count
var errorCount = 0 var errorCount = 0

View File

@ -87,7 +87,14 @@ public final class ClosedGroupPoller : NSObject {
timers[groupPublicKey] = Timer.scheduledTimerOnMainThread(withTimeInterval: nextPollInterval, repeats: false) { [weak self] timer in timers[groupPublicKey] = Timer.scheduledTimerOnMainThread(withTimeInterval: nextPollInterval, repeats: false) { [weak self] timer in
timer.invalidate() timer.invalidate()
Threading.pollerQueue.async { Threading.pollerQueue.async {
self?.poll(groupPublicKey).done(on: Threading.pollerQueue) { _ in var promises: [Promise<Void>] = []
if SnodeAPI.hardfork <= 19, SnodeAPI.softfork == 0, let promise = self?.poll(groupPublicKey, defaultInbox: true) {
promises.append(promise)
}
if SnodeAPI.hardfork >= 19, SnodeAPI.softfork >= 0,let promise = self?.poll(groupPublicKey) {
promises.append(promise)
}
when(resolved: promises).done(on: Threading.pollerQueue) { _ in
self?.pollRecursively(groupPublicKey) self?.pollRecursively(groupPublicKey)
}.catch(on: Threading.pollerQueue) { error in }.catch(on: Threading.pollerQueue) { error in
// The error is logged in poll(_:) // The error is logged in poll(_:)
@ -97,13 +104,14 @@ public final class ClosedGroupPoller : NSObject {
} }
} }
private func poll(_ groupPublicKey: String) -> Promise<Void> { private func poll(_ groupPublicKey: String, defaultInbox: Bool = false) -> Promise<Void> {
guard isPolling(for: groupPublicKey) else { return Promise.value(()) } guard isPolling(for: groupPublicKey) else { return Promise.value(()) }
let promise = SnodeAPI.getSwarm(for: groupPublicKey).then2 { [weak self] swarm -> Promise<(Snode, [JSON], JSON?)> in let promise = SnodeAPI.getSwarm(for: groupPublicKey).then2 { [weak self] swarm -> Promise<(Snode, [JSON], JSON?)> in
// randomElement() uses the system's default random generator, which is cryptographically secure // randomElement() uses the system's default random generator, which is cryptographically secure
guard let snode = swarm.randomElement() else { return Promise(error: Error.insufficientSnodes) } guard let snode = swarm.randomElement() else { return Promise(error: Error.insufficientSnodes) }
guard let self = self, self.isPolling(for: groupPublicKey) else { return Promise(error: Error.pollingCanceled) } guard let self = self, self.isPolling(for: groupPublicKey) else { return Promise(error: Error.pollingCanceled) }
return SnodeAPI.getRawMessages(from: snode, associatedWith: groupPublicKey).map2 { let getRawMessagesPromise = defaultInbox ? SnodeAPI.getRawClosedGroupMessagesFromDefaultNamespace(from: snode, associatedWith: groupPublicKey) : SnodeAPI.getRawMessages(from: snode, associatedWith: groupPublicKey, authenticated: false)
return getRawMessagesPromise.map2 {
let (rawMessages, lastRawMessage) = SnodeAPI.parseRawMessagesResponse($0, from: snode, associatedWith: groupPublicKey) let (rawMessages, lastRawMessage) = SnodeAPI.parseRawMessagesResponse($0, from: snode, associatedWith: groupPublicKey)
return (snode, rawMessages, lastRawMessage) return (snode, rawMessages, lastRawMessage)
@ -128,7 +136,7 @@ public final class ClosedGroupPoller : NSObject {
} }
// Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value // Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value
SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, associatedWith: groupPublicKey, from: lastRawMessage) SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, namespace: SnodeAPI.closedGroupNamespace, associatedWith: groupPublicKey, from: lastRawMessage)
} }
promise.catch2 { error in promise.catch2 { error in
SNLog("Polling failed for closed group with public key: \(groupPublicKey) due to error: \(error).") SNLog("Polling failed for closed group with public key: \(groupPublicKey) due to error: \(error).")

View File

@ -112,7 +112,7 @@ public final class Poller : NSObject {
} }
// Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value // Now that the MessageReceiveJob's have been created we can update the `lastMessageHash` value
SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, associatedWith: userPublicKey, from: lastRawMessage) SnodeAPI.updateLastMessageHashValueIfPossible(for: snode, namespace: SnodeAPI.defaultNamespace, associatedWith: userPublicKey, from: lastRawMessage)
strongSelf.pollCount += 1 strongSelf.pollCount += 1
if strongSelf.pollCount == Poller.maxPollCount { if strongSelf.pollCount == Poller.maxPollCount {

View File

@ -395,6 +395,9 @@ public enum OnionRequestAPI {
if statusCode == 406 { // Clock out of sync if statusCode == 406 { // Clock out of sync
SNLog("The user's clock is out of sync with the service node network.") SNLog("The user's clock is out of sync with the service node network.")
seal.reject(SnodeAPI.Error.clockOutOfSync) seal.reject(SnodeAPI.Error.clockOutOfSync)
} else if statusCode == 401 { // Signature verification failed
SNLog("Failed to verify the signature.")
seal.reject(SnodeAPI.Error.signatureVerificationFailed)
} else if let bodyAsString = json["body"] as? String { } else if let bodyAsString = json["body"] as? String {
guard let bodyAsData = bodyAsString.data(using: .utf8), guard let bodyAsData = bodyAsString.data(using: .utf8),
let body = try JSONSerialization.jsonObject(with: bodyAsData, options: [ .fragmentsAllowed ]) as? JSON else { return seal.reject(HTTP.Error.invalidJSON) } let body = try JSONSerialization.jsonObject(with: bodyAsData, options: [ .fragmentsAllowed ]) as? JSON else { return seal.reject(HTTP.Error.invalidJSON) }

View File

@ -22,6 +22,15 @@ public final class SnodeAPI : NSObject {
public static var clockOffset: Int64 = 0 public static var clockOffset: Int64 = 0
/// - Note: Should only be accessed from `Threading.workQueue` to avoid race conditions. /// - Note: Should only be accessed from `Threading.workQueue` to avoid race conditions.
public static var swarmCache: [String:Set<Snode>] = [:] public static var swarmCache: [String:Set<Snode>] = [:]
// MARK: Namespaces
public static let defaultNamespace = 0
public static let closedGroupNamespace = -10
public static let configNamespace = 5
// MARK: Hardfork version
public static var hardfork = UserDefaults.standard[.hardfork]
public static var softfork = UserDefaults.standard[.softfork]
// MARK: Settings // MARK: Settings
private static let maxRetryCount: UInt = 8 private static let maxRetryCount: UInt = 8
@ -39,6 +48,7 @@ public final class SnodeAPI : NSObject {
case inconsistentSnodePools case inconsistentSnodePools
case noKeyPair case noKeyPair
case signingFailed case signingFailed
case signatureVerificationFailed
// ONS // ONS
case decryptionFailed case decryptionFailed
case hashingFailed case hashingFailed
@ -52,6 +62,7 @@ public final class SnodeAPI : NSObject {
case .inconsistentSnodePools: return "Received inconsistent Service Node pool information from the Service Node network." case .inconsistentSnodePools: return "Received inconsistent Service Node pool information from the Service Node network."
case .noKeyPair: return "Missing user key pair." case .noKeyPair: return "Missing user key pair."
case .signingFailed: return "Couldn't sign message." case .signingFailed: return "Couldn't sign message."
case . signatureVerificationFailed: return "Failed to verify the signature."
// ONS // ONS
case .decryptionFailed: return "Couldn't decrypt ONS name." case .decryptionFailed: return "Couldn't decrypt ONS name."
case .hashingFailed: return "Couldn't compute ONS name hash." case .hashingFailed: return "Couldn't compute ONS name hash."
@ -131,7 +142,22 @@ public final class SnodeAPI : NSObject {
// MARK: Internal API // MARK: Internal API
internal static func invoke(_ method: Snode.Method, on snode: Snode, associatedWith publicKey: String? = nil, parameters: JSON) -> RawResponsePromise { internal static func invoke(_ method: Snode.Method, on snode: Snode, associatedWith publicKey: String? = nil, parameters: JSON) -> RawResponsePromise {
if Features.useOnionRequests { if Features.useOnionRequests {
return OnionRequestAPI.sendOnionRequest(to: snode, invoking: method, with: parameters, associatedWith: publicKey).map2 { $0 as Any } return OnionRequestAPI.sendOnionRequest(to: snode, invoking: method, with: parameters, associatedWith: publicKey)
.map2 { json in
if let hf = json["hf"] as? [Int] {
if hf[1] > softfork {
softfork = hf[1]
UserDefaults.standard[.softfork] = softfork
}
if hf[0] > hardfork {
hardfork = hf[0]
UserDefaults.standard[.hardfork] = hardfork
softfork = hf[1]
UserDefaults.standard[.softfork] = softfork
}
}
return json as Any
}
} else { } else {
let url = "\(snode.address):\(snode.port)/storage_rpc/v1" let url = "\(snode.address):\(snode.port)/storage_rpc/v1"
return HTTP.execute(.post, url, parameters: parameters).map2 { $0 as Any }.recover2 { error -> Promise<Any> in return HTTP.execute(.post, url, parameters: parameters).map2 { $0 as Any }.recover2 { error -> Promise<Any> in
@ -390,47 +416,113 @@ public final class SnodeAPI : NSObject {
} }
} }
public static func getRawMessages(from snode: Snode, associatedWith publicKey: String) -> RawResponsePromise { // MARK: Retrieve
// Not in use until we can batch delete and store config messages
public static func getConfigMessages(from snode: Snode, associatedWith publicKey: String) -> RawResponsePromise {
let (promise, seal) = RawResponsePromise.pending() let (promise, seal) = RawResponsePromise.pending()
Threading.workQueue.async { Threading.workQueue.async {
getMessagesInternal(from: snode, associatedWith: publicKey).done2 { seal.fulfill($0) }.catch2 { seal.reject($0) } getMessagesWithAuthentication(from: snode, associatedWith: publicKey, namespace: configNamespace).done2 {
seal.fulfill($0)
}.catch2 {
seal.reject($0)
}
} }
return promise return promise
} }
private static func getMessagesInternal(from snode: Snode, associatedWith publicKey: String) -> RawResponsePromise { public static func getRawMessages(from snode: Snode, associatedWith publicKey: String, authenticated: Bool = true) -> RawResponsePromise {
let (promise, seal) = RawResponsePromise.pending()
Threading.workQueue.async {
let retrievePromise = authenticated ? getMessagesWithAuthentication(from: snode, associatedWith: publicKey, namespace: defaultNamespace) : getMessagesUnauthenticated(from: snode, associatedWith: publicKey)
retrievePromise.done2 { seal.fulfill($0) }.catch2 { seal.reject($0) }
}
return promise
}
public static func getRawClosedGroupMessagesFromDefaultNamespace(from snode: Snode, associatedWith publicKey: String) -> RawResponsePromise {
let (promise, seal) = RawResponsePromise.pending()
Threading.workQueue.async {
getMessagesUnauthenticated(from: snode, associatedWith: publicKey, namespace: defaultNamespace).done2 { seal.fulfill($0) }.catch2 { seal.reject($0) }
}
return promise
}
private static func getMessagesWithAuthentication(from snode: Snode, associatedWith publicKey: String, namespace: Int) -> RawResponsePromise {
let storage = SNSnodeKitConfiguration.shared.storage let storage = SNSnodeKitConfiguration.shared.storage
// NOTE: All authentication logic is currently commented out, the reason being that we can't currently support // NOTE: All authentication logic is only apply to 1-1 chats, the reason being that we can't currently support
// it yet for closed groups. The Storage Server requires an ed25519 key pair, but we don't have that for our // it yet for closed groups. The Storage Server requires an ed25519 key pair, but we don't have that for our
// closed groups. // closed groups.
// guard let userED25519KeyPair = storage.getUserED25519KeyPair() else { return Promise(error: Error.noKeyPair) } guard let userED25519KeyPair = storage.getUserED25519KeyPair() else { return Promise(error: Error.noKeyPair) }
// Get last message hash // Get last message hash
storage.pruneLastMessageHashInfoIfExpired(for: snode, associatedWith: publicKey) storage.pruneLastMessageHashInfoIfExpired(for: snode, namespace: namespace, associatedWith: publicKey)
let lastHash = storage.getLastMessageHash(for: snode, associatedWith: publicKey) ?? "" let lastHash = storage.getLastMessageHash(for: snode, namespace: namespace, associatedWith: publicKey) ?? ""
// Construct signature // Construct signature
// let timestamp = UInt64(Int64(NSDate.millisecondTimestamp()) + SnodeAPI.clockOffset) let timestamp = UInt64(Int64(NSDate.millisecondTimestamp()) + SnodeAPI.clockOffset)
// let ed25519PublicKey = userED25519KeyPair.publicKey.toHexString() let ed25519PublicKey = userED25519KeyPair.publicKey.toHexString()
// let verificationData = ("retrieve" + String(timestamp)).data(using: String.Encoding.utf8)! let namespaceVerificationString = namespace == defaultNamespace ? "" : String(namespace)
// let signature = sodium.sign.signature(message: Bytes(verificationData), secretKey: userED25519KeyPair.secretKey)! guard let verificationData = ("retrieve" + namespaceVerificationString + String(timestamp)).data(using: String.Encoding.utf8),
let signature = sodium.sign.signature(message: Bytes(verificationData), secretKey: userED25519KeyPair.secretKey)
else { return Promise(error: Error.signingFailed) }
// Make the request // Make the request
let parameters: JSON = [ let parameters: JSON = [
"pubKey" : Features.useTestnet ? publicKey.removing05PrefixIfNeeded() : publicKey, "pubKey" : Features.useTestnet ? publicKey.removing05PrefixIfNeeded() : publicKey,
"namespace": namespace,
"lastHash" : lastHash, "lastHash" : lastHash,
// "timestamp" : timestamp, "timestamp" : timestamp,
// "pubkey_ed25519" : ed25519PublicKey, "pubkey_ed25519" : ed25519PublicKey,
// "signature" : signature.toBase64()! "signature" : signature.toBase64()
] ]
return invoke(.getMessages, on: snode, associatedWith: publicKey, parameters: parameters) return invoke(.getMessages, on: snode, associatedWith: publicKey, parameters: parameters)
} }
public static func sendMessage(_ message: SnodeMessage) -> Promise<Set<RawResponsePromise>> { private static func getMessagesUnauthenticated(from snode: Snode, associatedWith publicKey: String, namespace: Int = closedGroupNamespace) -> RawResponsePromise {
let storage = SNSnodeKitConfiguration.shared.storage
// Get last message hash
storage.pruneLastMessageHashInfoIfExpired(for: snode, namespace: namespace, associatedWith: publicKey)
let lastHash = storage.getLastMessageHash(for: snode, namespace: namespace, associatedWith: publicKey) ?? ""
// Make the request
var parameters: JSON = [
"pubKey" : Features.useTestnet ? publicKey.removing05PrefixIfNeeded() : publicKey,
"lastHash" : lastHash,
]
// Don't include namespace if polling for 0 with no authentication
if namespace != defaultNamespace {
parameters["namespace"] = namespace
}
return invoke(.getMessages, on: snode, associatedWith: publicKey, parameters: parameters)
}
// MARK: Store
public static func sendMessage(_ message: SnodeMessage, isClosedGroupMessage: Bool, isConfigMessage: Bool) -> Promise<Set<RawResponsePromise>> {
return sendMessageUnauthenticated(message, isClosedGroupMessage: isClosedGroupMessage)
}
// Not in use until we can batch delete and store config messages
private static func sendMessageWithAuthentication(_ message: SnodeMessage, namespace: Int) -> Promise<Set<RawResponsePromise>> {
let storage = SNSnodeKitConfiguration.shared.storage
guard let userED25519KeyPair = storage.getUserED25519KeyPair() else { return Promise(error: Error.noKeyPair) }
// Construct signature
let timestamp = UInt64(Int64(NSDate.millisecondTimestamp()) + SnodeAPI.clockOffset)
let ed25519PublicKey = userED25519KeyPair.publicKey.toHexString()
guard let verificationData = ("store" + String(namespace) + String(timestamp)).data(using: String.Encoding.utf8),
let signature = sodium.sign.signature(message: Bytes(verificationData), secretKey: userED25519KeyPair.secretKey)
else { return Promise(error: Error.signingFailed) }
// Make the request
let (promise, seal) = Promise<Set<RawResponsePromise>>.pending() let (promise, seal) = Promise<Set<RawResponsePromise>>.pending()
let publicKey = Features.useTestnet ? message.recipient.removing05PrefixIfNeeded() : message.recipient let publicKey = Features.useTestnet ? message.recipient.removing05PrefixIfNeeded() : message.recipient
Threading.workQueue.async { Threading.workQueue.async {
getTargetSnodes(for: publicKey).map2 { targetSnodes in getTargetSnodes(for: publicKey).map2 { targetSnodes in
let parameters = message.toJSON() var parameters = message.toJSON()
parameters["namespace"] = namespace
parameters["sig_timestamp"] = timestamp
parameters["pubkey_ed25519"] = ed25519PublicKey
parameters["signature"] = signature.toBase64()
return Set(targetSnodes.map { targetSnode in return Set(targetSnodes.map { targetSnode in
attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) { attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) {
invoke(.sendMessage, on: targetSnode, associatedWith: publicKey, parameters: parameters) invoke(.sendMessage, on: targetSnode, associatedWith: publicKey, parameters: parameters)
@ -441,6 +533,40 @@ public final class SnodeAPI : NSObject {
return promise return promise
} }
private static func sendMessageUnauthenticated(_ message: SnodeMessage, isClosedGroupMessage: Bool) -> Promise<Set<RawResponsePromise>> {
let (promise, seal) = Promise<Set<RawResponsePromise>>.pending()
let publicKey = Features.useTestnet ? message.recipient.removing05PrefixIfNeeded() : message.recipient
Threading.workQueue.async {
getTargetSnodes(for: publicKey).map2 { targetSnodes in
var rawResponsePromises: Set<RawResponsePromise> = Set()
var parameters = message.toJSON()
parameters["namespace"] = isClosedGroupMessage ? closedGroupNamespace : defaultNamespace
for targetSnode in targetSnodes {
let rawResponsePromise = attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) {
invoke(.sendMessage, on: targetSnode, associatedWith: publicKey, parameters: parameters)
}
rawResponsePromises.insert(rawResponsePromise)
}
// Send closed group messages to default namespace as well
if hardfork == 19 && softfork == 0 && isClosedGroupMessage {
parameters["namespace"] = defaultNamespace
for targetSnode in targetSnodes {
let rawResponsePromise = attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) {
invoke(.sendMessage, on: targetSnode, associatedWith: publicKey, parameters: parameters)
}
rawResponsePromises.insert(rawResponsePromise)
}
}
return rawResponsePromises
}.done2 { seal.fulfill($0) }.catch2 { seal.reject($0) }
}
return promise
}
// MARK: Delete
@objc(deleteMessageForPublickKey:serverHashes:) @objc(deleteMessageForPublickKey:serverHashes:)
public static func objc_deleteMessage(publicKey: String, serverHashes: [String]) -> AnyPromise { public static func objc_deleteMessage(publicKey: String, serverHashes: [String]) -> AnyPromise {
AnyPromise.from(deleteMessage(publicKey: publicKey, serverHashes: serverHashes)) AnyPromise.from(deleteMessage(publicKey: publicKey, serverHashes: serverHashes))
@ -568,10 +694,10 @@ public final class SnodeAPI : NSObject {
) )
} }
public static func updateLastMessageHashValueIfPossible(for snode: Snode, associatedWith publicKey: String, from lastRawMessage: JSON?) { public static func updateLastMessageHashValueIfPossible(for snode: Snode, namespace: Int, associatedWith publicKey: String, from lastRawMessage: JSON?) {
if let lastMessage = lastRawMessage, let lastHash = lastMessage["hash"] as? String, let expirationDate = lastMessage["expiration"] as? UInt64 { if let lastMessage = lastRawMessage, let lastHash = lastMessage["hash"] as? String, let expirationDate = lastMessage["expiration"] as? UInt64 {
SNSnodeKitConfiguration.shared.storage.writeSync { transaction in SNSnodeKitConfiguration.shared.storage.writeSync { transaction in
SNSnodeKitConfiguration.shared.storage.setLastMessageHashInfo(for: snode, associatedWith: publicKey, SNSnodeKitConfiguration.shared.storage.setLastMessageHashInfo(for: snode, namespace: namespace, associatedWith: publicKey,
to: [ "hash" : lastHash, "expirationDate" : NSNumber(value: expirationDate) ], using: transaction) to: [ "hash" : lastHash, "expirationDate" : NSNumber(value: expirationDate) ], using: transaction)
} }
} else if (lastRawMessage != nil) { } else if (lastRawMessage != nil) {

View File

@ -80,8 +80,8 @@ extension Storage {
private static let lastMessageHashCollection = "LokiLastMessageHashCollection" private static let lastMessageHashCollection = "LokiLastMessageHashCollection"
public func getLastMessageHashInfo(for snode: Snode, associatedWith publicKey: String) -> JSON? { public func getLastMessageHashInfo(for snode: Snode, namespace: Int, associatedWith publicKey: String) -> JSON? {
let key = "\(snode.address):\(snode.port).\(publicKey)" let key = namespace == SnodeAPI.defaultNamespace ? "\(snode.address):\(snode.port).\(publicKey)" : "\(snode.address):\(snode.port).\(publicKey).\(namespace)"
var result: JSON? var result: JSON?
Storage.read { transaction in Storage.read { transaction in
result = transaction.object(forKey: key, inCollection: Storage.lastMessageHashCollection) as? JSON result = transaction.object(forKey: key, inCollection: Storage.lastMessageHashCollection) as? JSON
@ -93,29 +93,30 @@ extension Storage {
return result return result
} }
public func getLastMessageHash(for snode: Snode, associatedWith publicKey: String) -> String? { public func getLastMessageHash(for snode: Snode, namespace: Int, associatedWith publicKey: String) -> String? {
return getLastMessageHashInfo(for: snode, associatedWith: publicKey)?["hash"] as? String return getLastMessageHashInfo(for: snode, namespace: namespace, associatedWith: publicKey)?["hash"] as? String
} }
public func setLastMessageHashInfo(for snode: Snode, associatedWith publicKey: String, to lastMessageHashInfo: JSON, using transaction: Any) { public func setLastMessageHashInfo(for snode: Snode, namespace: Int, associatedWith publicKey: String, to lastMessageHashInfo: JSON, using transaction: Any) {
let key = "\(snode.address):\(snode.port).\(publicKey)" let key = namespace == SnodeAPI.defaultNamespace ? "\(snode.address):\(snode.port).\(publicKey)" : "\(snode.address):\(snode.port).\(publicKey).\(namespace)"
guard lastMessageHashInfo.count == 2 && lastMessageHashInfo["hash"] as? String != nil && lastMessageHashInfo["expirationDate"] as? NSNumber != nil else { return } guard lastMessageHashInfo.count == 2 && lastMessageHashInfo["hash"] as? String != nil && lastMessageHashInfo["expirationDate"] as? NSNumber != nil else { return }
(transaction as! YapDatabaseReadWriteTransaction).setObject(lastMessageHashInfo, forKey: key, inCollection: Storage.lastMessageHashCollection) (transaction as! YapDatabaseReadWriteTransaction).setObject(lastMessageHashInfo, forKey: key, inCollection: Storage.lastMessageHashCollection)
} }
public func pruneLastMessageHashInfoIfExpired(for snode: Snode, associatedWith publicKey: String) { public func pruneLastMessageHashInfoIfExpired(for snode: Snode, namespace: Int, associatedWith publicKey: String) {
guard let lastMessageHashInfo = getLastMessageHashInfo(for: snode, associatedWith: publicKey), guard let lastMessageHashInfo = getLastMessageHashInfo(for: snode, namespace: namespace, associatedWith: publicKey),
(lastMessageHashInfo["hash"] as? String) != nil, let expirationDate = (lastMessageHashInfo["expirationDate"] as? NSNumber)?.uint64Value else { return } (lastMessageHashInfo["hash"] as? String) != nil, let expirationDate = (lastMessageHashInfo["expirationDate"] as? NSNumber)?.uint64Value else { return }
let now = NSDate.millisecondTimestamp() let now = NSDate.millisecondTimestamp()
if now >= expirationDate { if now >= expirationDate {
Storage.writeSync { transaction in Storage.writeSync { transaction in
self.removeLastMessageHashInfo(for: snode, associatedWith: publicKey, using: transaction) self.removeLastMessageHashInfo(for: snode, namespace: namespace, associatedWith: publicKey, using: transaction)
self.setReceivedMessages(to: Set(), for: publicKey, using: transaction)
} }
} }
} }
public func removeLastMessageHashInfo(for snode: Snode, associatedWith publicKey: String, using transaction: Any) { public func removeLastMessageHashInfo(for snode: Snode, namespace: Int, associatedWith publicKey: String, using transaction: Any) {
let key = "\(snode.address):\(snode.port).\(publicKey)" let key = namespace == SnodeAPI.defaultNamespace ? "\(snode.address):\(snode.port).\(publicKey)" : "\(snode.address):\(snode.port).\(publicKey).\(namespace)"
(transaction as! YapDatabaseReadWriteTransaction).removeObject(forKey: key, inCollection: Storage.lastMessageHashCollection) (transaction as! YapDatabaseReadWriteTransaction).removeObject(forKey: key, inCollection: Storage.lastMessageHashCollection)
} }

View File

@ -20,9 +20,9 @@ public protocol SessionSnodeKitStorageProtocol {
func setLastSnodePoolRefreshDate(to date: Date, using transaction: Any) func setLastSnodePoolRefreshDate(to date: Date, using transaction: Any)
func getSwarm(for publicKey: String) -> Set<Snode> func getSwarm(for publicKey: String) -> Set<Snode>
func setSwarm(to swarm: Set<Snode>, for publicKey: String, using transaction: Any) func setSwarm(to swarm: Set<Snode>, for publicKey: String, using transaction: Any)
func getLastMessageHash(for snode: Snode, associatedWith publicKey: String) -> String? func getLastMessageHash(for snode: Snode, namespace: Int, associatedWith publicKey: String) -> String?
func setLastMessageHashInfo(for snode: Snode, associatedWith publicKey: String, to lastMessageHashInfo: JSON, using transaction: Any) func setLastMessageHashInfo(for snode: Snode, namespace: Int, associatedWith publicKey: String, to lastMessageHashInfo: JSON, using transaction: Any)
func pruneLastMessageHashInfoIfExpired(for snode: Snode, associatedWith publicKey: String) func pruneLastMessageHashInfoIfExpired(for snode: Snode, namespace: Int, associatedWith publicKey: String)
func getReceivedMessages(for publicKey: String) -> Set<String> func getReceivedMessages(for publicKey: String) -> Set<String>
func setReceivedMessages(to receivedMessages: Set<String>, for publicKey: String, using transaction: Any) func setReceivedMessages(to receivedMessages: Set<String>, for publicKey: String, using transaction: Any)
} }

View File

@ -70,7 +70,15 @@ public final class Button : UIButton {
if heightConstraint == nil { heightConstraint = set(.height, to: height) } if heightConstraint == nil { heightConstraint = set(.height, to: height) }
layer.cornerRadius = height / 2 layer.cornerRadius = height / 2
backgroundColor = fillColor backgroundColor = fillColor
layer.borderColor = borderColor.cgColor if #available(iOS 13.0, *) {
layer.borderColor = borderColor
.resolvedColor(
// Note: This is needed for '.cgColor' to support dark mode
with: UITraitCollection(userInterfaceStyle: isDarkMode ? .dark : .light)
).cgColor
} else {
layer.borderColor = borderColor.cgColor
}
layer.borderWidth = 1 layer.borderWidth = 1
let fontSize = (size == .small) ? Values.smallFontSize : Values.mediumFontSize let fontSize = (size == .small) ? Values.smallFontSize : Values.mediumFontSize
titleLabel!.font = .boldSystemFont(ofSize: fontSize) titleLabel!.font = .boldSystemFont(ofSize: fontSize)

View File

@ -26,6 +26,8 @@ public enum SNUserDefaults {
public enum Int : Swift.String { public enum Int : Swift.String {
case appMode case appMode
case hardfork
case softfork
} }
public enum String : Swift.String { public enum String : Swift.String {