mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2024-12-17 17:20:21 +01:00
mobile: call settings, request camera on iOS on call start (#701)
* mobile: call settings, request camera on iOS on call start * refactor preferences * fix typo
This commit is contained in:
committed by
GitHub
parent
79d9e90ab7
commit
da13e6614b
@@ -660,7 +660,9 @@ func processReceivedMsg(_ res: ChatResponse) {
|
||||
call.callState = .offerReceived
|
||||
call.peerMedia = callType.media
|
||||
call.sharedKey = sharedKey
|
||||
m.callCommand = .offer(offer: offer.rtcSession, iceCandidates: offer.rtcIceCandidates, media: callType.media, aesKey: sharedKey, useWorker: true)
|
||||
let useRelay = UserDefaults.standard.bool(forKey: DEFAULT_WEBRTC_POLICY_RELAY)
|
||||
logger.debug(".callOffer useRelay \(useRelay)")
|
||||
m.callCommand = .offer(offer: offer.rtcSession, iceCandidates: offer.rtcIceCandidates, media: callType.media, aesKey: sharedKey, useWorker: true, relay: useRelay)
|
||||
}
|
||||
case let .callAnswer(contact, answer):
|
||||
withCall(contact) { call in
|
||||
|
||||
@@ -21,6 +21,7 @@ struct SimpleXApp: App {
|
||||
|
||||
init() {
|
||||
hs_init(0, nil)
|
||||
UserDefaults.standard.register(defaults: appDefaults)
|
||||
BGManager.shared.register()
|
||||
NtfManager.shared.registerCategories()
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ class CallManager {
|
||||
let m = ChatModel.shared
|
||||
if let call = m.activeCall, call.callkitUUID == callUUID {
|
||||
m.showCallView = true
|
||||
m.callCommand = .capabilities(useWorker: true)
|
||||
m.callCommand = .capabilities(media: call.localMedia, useWorker: true)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -45,7 +45,9 @@ class CallManager {
|
||||
sharedKey: invitation.sharedKey
|
||||
)
|
||||
m.showCallView = true
|
||||
m.callCommand = .start(media: invitation.peerMedia, aesKey: invitation.sharedKey, useWorker: true)
|
||||
let useRelay = UserDefaults.standard.bool(forKey: DEFAULT_WEBRTC_POLICY_RELAY)
|
||||
logger.debug("answerIncomingCall useRelay \(useRelay)")
|
||||
m.callCommand = .start(media: invitation.peerMedia, aesKey: invitation.sharedKey, useWorker: true, relay: useRelay)
|
||||
}
|
||||
|
||||
func endCall(callUUID: UUID, completed: @escaping (Bool) -> Void) {
|
||||
|
||||
@@ -102,7 +102,7 @@ struct WVAPIMessage: Equatable, Decodable, Encodable {
|
||||
}
|
||||
|
||||
enum WCallCommand: Equatable, Encodable, Decodable {
|
||||
case capabilities(useWorker: Bool? = nil)
|
||||
case capabilities(media: CallMediaType, useWorker: Bool? = nil)
|
||||
case start(media: CallMediaType, aesKey: String? = nil, useWorker: Bool? = nil, iceServers: [RTCIceServer]? = nil, relay: Bool? = nil)
|
||||
case offer(offer: String, iceCandidates: String, media: CallMediaType, aesKey: String? = nil, useWorker: Bool? = nil, iceServers: [RTCIceServer]? = nil, relay: Bool? = nil)
|
||||
case answer(answer: String, iceCandidates: String)
|
||||
@@ -143,8 +143,9 @@ enum WCallCommand: Equatable, Encodable, Decodable {
|
||||
func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
switch self {
|
||||
case let .capabilities(useWorker):
|
||||
case let .capabilities(media, useWorker):
|
||||
try container.encode("capabilities", forKey: .type)
|
||||
try container.encode(media, forKey: .media)
|
||||
try container.encode(useWorker, forKey: .useWorker)
|
||||
case let .start(media, aesKey, useWorker, iceServers, relay):
|
||||
try container.encode("start", forKey: .type)
|
||||
@@ -186,8 +187,9 @@ enum WCallCommand: Equatable, Encodable, Decodable {
|
||||
let type = try container.decode(String.self, forKey: CodingKeys.type)
|
||||
switch type {
|
||||
case "capabilities":
|
||||
let media = try container.decode(CallMediaType.self, forKey: CodingKeys.media)
|
||||
let useWorker = try container.decode((Bool?).self, forKey: CodingKeys.useWorker)
|
||||
self = .capabilities(useWorker: useWorker)
|
||||
self = .capabilities(media: media, useWorker: useWorker)
|
||||
case "start":
|
||||
let media = try container.decode(CallMediaType.self, forKey: CodingKeys.media)
|
||||
let aesKey = try? container.decode(String.self, forKey: CodingKeys.aesKey)
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// CallSettings.swift
|
||||
// SimpleX (iOS)
|
||||
//
|
||||
// Created by Evgeny on 27/05/2022.
|
||||
// Copyright © 2022 SimpleX Chat. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CallSettings: View {
|
||||
@AppStorage(DEFAULT_WEBRTC_POLICY_RELAY) private var webrtcPolicyRelay = true
|
||||
|
||||
var body: some View {
|
||||
List {
|
||||
Toggle("Connect via relay", isOn: $webrtcPolicyRelay)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct CallSettings_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
CallSettings()
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,13 @@ let appBuild = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as?
|
||||
|
||||
let DEFAULT_USE_NOTIFICATIONS = "useNotifications"
|
||||
let DEFAULT_PENDING_CONNECTIONS = "pendingConnections"
|
||||
let DEFAULT_WEBRTC_POLICY_RELAY = "webrtcPolicyRelay"
|
||||
|
||||
let appDefaults: [String:Any] = [
|
||||
DEFAULT_USE_NOTIFICATIONS: false,
|
||||
DEFAULT_PENDING_CONNECTIONS: true,
|
||||
DEFAULT_WEBRTC_POLICY_RELAY: true
|
||||
]
|
||||
|
||||
private var indent: CGFloat = 36
|
||||
|
||||
@@ -59,6 +66,12 @@ struct SettingsView: View {
|
||||
} label: {
|
||||
settingsRow("server.rack") { Text("SMP servers") }
|
||||
}
|
||||
NavigationLink {
|
||||
CallSettings()
|
||||
.navigationTitle("Call settings")
|
||||
} label: {
|
||||
settingsRow("video") { Text("Call settings") }
|
||||
}
|
||||
}
|
||||
|
||||
Section("Help") {
|
||||
|
||||
@@ -20,11 +20,6 @@
|
||||
<target> (can be copied)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id=" wants to connect with you via " xml:space="preserve">
|
||||
<source> wants to connect with you via </source>
|
||||
<target> wants to connect with you via </target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="!1 colored!" xml:space="preserve">
|
||||
<source>!1 colored!</source>
|
||||
<target>!1 colored!</target>
|
||||
@@ -133,7 +128,8 @@
|
||||
<trans-unit id="Accept" xml:space="preserve">
|
||||
<source>Accept</source>
|
||||
<target>Accept</target>
|
||||
<note>accept contact request via notification</note>
|
||||
<note>accept contact request via notification
|
||||
accept incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accept contact" xml:space="preserve">
|
||||
<source>Accept contact</source>
|
||||
@@ -165,11 +161,6 @@
|
||||
<target>Already connected?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Answer" xml:space="preserve">
|
||||
<source>Answer</source>
|
||||
<target>Answer</target>
|
||||
<note>accept incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Answer call" xml:space="preserve">
|
||||
<source>Answer call</source>
|
||||
<target>Answer call</target>
|
||||
@@ -185,16 +176,16 @@
|
||||
<target>Call already ended!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Call settings" xml:space="preserve">
|
||||
<source>Call settings</source>
|
||||
<target>Call settings</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Cancel" xml:space="preserve">
|
||||
<source>Cancel</source>
|
||||
<target>Cancel</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Capabilities" xml:space="preserve">
|
||||
<source>Capabilities</source>
|
||||
<target>Capabilities</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat console" xml:space="preserve">
|
||||
<source>Chat console</source>
|
||||
<target>Chat console</target>
|
||||
@@ -275,6 +266,11 @@
|
||||
<target>Connect via one-time link?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Connect via relay" xml:space="preserve">
|
||||
<source>Connect via relay</source>
|
||||
<target>Connect via relay</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Connect with the developers" xml:space="preserve">
|
||||
<source>Connect with the developers</source>
|
||||
<target>Connect with the developers</target>
|
||||
@@ -460,11 +456,6 @@
|
||||
<target>Enable notifications? (BETA)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="End" xml:space="preserve">
|
||||
<source>End</source>
|
||||
<target>End</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Enter one SMP server per line:" xml:space="preserve">
|
||||
<source>Enter one SMP server per line:</source>
|
||||
<target>Enter one SMP server per line:</target>
|
||||
@@ -540,11 +531,6 @@
|
||||
<target>How to use markdown</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ICE" xml:space="preserve">
|
||||
<source>ICE</source>
|
||||
<target>ICE</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="If you can't meet in person, **show QR code in the video call**, or share the link." xml:space="preserve">
|
||||
<source>If you can't meet in person, **show QR code in the video call**, or share the link.</source>
|
||||
<target>If you can't meet in person, **show QR code in the video call**, or share the link.</target>
|
||||
@@ -558,7 +544,7 @@
|
||||
<trans-unit id="Ignore" xml:space="preserve">
|
||||
<source>Ignore</source>
|
||||
<target>Ignore</target>
|
||||
<note>ignore incoming call via notification</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Image will be received when your contact is online, please wait or check later!" xml:space="preserve">
|
||||
<source>Image will be received when your contact is online, please wait or check later!</source>
|
||||
@@ -748,7 +734,7 @@
|
||||
<trans-unit id="Reject" xml:space="preserve">
|
||||
<source>Reject</source>
|
||||
<target>Reject</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>reject incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Reject contact (sender NOT notified)" xml:space="preserve">
|
||||
<source>Reject contact (sender NOT notified)</source>
|
||||
@@ -795,11 +781,6 @@
|
||||
<target>Scan contact's QR code</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Send" xml:space="preserve">
|
||||
<source>Send</source>
|
||||
<target>Send</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Server connected" xml:space="preserve">
|
||||
<source>Server connected</source>
|
||||
<target>Server connected</target>
|
||||
@@ -830,11 +811,6 @@
|
||||
<target>Show pending connections</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Start" xml:space="preserve">
|
||||
<source>Start</source>
|
||||
<target>Start</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Take picture" xml:space="preserve">
|
||||
<source>Take picture</source>
|
||||
<target>Take picture</target>
|
||||
@@ -1113,9 +1089,9 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>above, then choose:</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted" xml:space="preserve">
|
||||
<source>accepted</source>
|
||||
<target>accepted</target>
|
||||
<trans-unit id="accepted call" xml:space="preserve">
|
||||
<source>accepted call</source>
|
||||
<target>accepted call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="audio call (not e2e encrypted)" xml:space="preserve">
|
||||
@@ -1128,6 +1104,16 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>bold</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call error" xml:space="preserve">
|
||||
<source>call error</source>
|
||||
<target>call error</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call in progress" xml:space="preserve">
|
||||
<source>call in progress</source>
|
||||
<target>call in progress</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="calling…" xml:space="preserve">
|
||||
<source>calling…</source>
|
||||
<target>calling…</target>
|
||||
@@ -1148,11 +1134,15 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>connected</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting call…" xml:space="preserve">
|
||||
<source>connecting call…</source>
|
||||
<target>connecting call…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>connecting…</target>
|
||||
<note>call status
|
||||
chat list item title</note>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -1184,19 +1174,14 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>e2e encrypted</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ended %@" xml:space="preserve">
|
||||
<source>ended %@</source>
|
||||
<target>ended %@</target>
|
||||
<note>call status</note>
|
||||
<trans-unit id="ended" xml:space="preserve">
|
||||
<source>ended</source>
|
||||
<target>ended</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="error" xml:space="preserve">
|
||||
<source>error</source>
|
||||
<target>error</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="in progress" xml:space="preserve">
|
||||
<source>in progress</source>
|
||||
<target>in progress</target>
|
||||
<trans-unit id="ended call %@" xml:space="preserve">
|
||||
<source>ended call %@</source>
|
||||
<target>ended call %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="invited to connect" xml:space="preserve">
|
||||
@@ -1209,9 +1194,9 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>italic</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="missed" xml:space="preserve">
|
||||
<source>missed</source>
|
||||
<target>missed</target>
|
||||
<trans-unit id="missed call" xml:space="preserve">
|
||||
<source>missed call</source>
|
||||
<target>missed call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="no e2e encryption" xml:space="preserve">
|
||||
@@ -1234,9 +1219,14 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>received answer…</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected" xml:space="preserve">
|
||||
<source>rejected</source>
|
||||
<target>rejected</target>
|
||||
<trans-unit id="received confirmation…" xml:space="preserve">
|
||||
<source>received confirmation…</source>
|
||||
<target>received confirmation…</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected call" xml:space="preserve">
|
||||
<source>rejected call</source>
|
||||
<target>rejected call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="secret" xml:space="preserve">
|
||||
@@ -1299,11 +1289,6 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>wants to connect to you!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="with e2e encryption" xml:space="preserve">
|
||||
<source>with e2e encryption</source>
|
||||
<target>with e2e encryption</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="you shared one-time link" xml:space="preserve">
|
||||
<source>you shared one-time link</source>
|
||||
<target>you shared one-time link</target>
|
||||
@@ -1410,9 +1395,9 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>You can now send messages to %@</target>
|
||||
<note>notification body</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted" xml:space="preserve">
|
||||
<source>accepted</source>
|
||||
<target>accepted</target>
|
||||
<trans-unit id="accepted call" xml:space="preserve">
|
||||
<source>accepted call</source>
|
||||
<target>accepted call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="audio call (not e2e encrypted)" xml:space="preserve">
|
||||
@@ -1420,16 +1405,30 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>audio call (not e2e encrypted)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call error" xml:space="preserve">
|
||||
<source>call error</source>
|
||||
<target>call error</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call in progress" xml:space="preserve">
|
||||
<source>call in progress</source>
|
||||
<target>call in progress</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="calling…" xml:space="preserve">
|
||||
<source>calling…</source>
|
||||
<target>calling…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting call…" xml:space="preserve">
|
||||
<source>connecting call…</source>
|
||||
<target>connecting call…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>connecting…</target>
|
||||
<note>call status
|
||||
chat list item title</note>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -1446,19 +1445,9 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>deleted</target>
|
||||
<note>deleted chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ended %@" xml:space="preserve">
|
||||
<source>ended %@</source>
|
||||
<target>ended %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="error" xml:space="preserve">
|
||||
<source>error</source>
|
||||
<target>error</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="in progress" xml:space="preserve">
|
||||
<source>in progress</source>
|
||||
<target>in progress</target>
|
||||
<trans-unit id="ended call %@" xml:space="preserve">
|
||||
<source>ended call %@</source>
|
||||
<target>ended call %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="invited to connect" xml:space="preserve">
|
||||
@@ -1466,19 +1455,14 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>invited to connect</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="missed" xml:space="preserve">
|
||||
<source>missed</source>
|
||||
<target>missed</target>
|
||||
<trans-unit id="missed call" xml:space="preserve">
|
||||
<source>missed call</source>
|
||||
<target>missed call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="no e2e encryption" xml:space="preserve">
|
||||
<source>no e2e encryption</source>
|
||||
<target>no e2e encryption</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected" xml:space="preserve">
|
||||
<source>rejected</source>
|
||||
<target>rejected</target>
|
||||
<trans-unit id="rejected call" xml:space="preserve">
|
||||
<source>rejected call</source>
|
||||
<target>rejected call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="via contact address link" xml:space="preserve">
|
||||
@@ -1496,11 +1480,6 @@ SimpleX servers cannot see your profile.</target>
|
||||
<target>video call (not e2e encrypted)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="with e2e encryption" xml:space="preserve">
|
||||
<source>with e2e encryption</source>
|
||||
<target>with e2e encryption</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="you shared one-time link" xml:space="preserve">
|
||||
<source>you shared one-time link</source>
|
||||
<target>you shared one-time link</target>
|
||||
|
||||
BIN
Binary file not shown.
@@ -20,11 +20,6 @@
|
||||
<target> (можно скопировать)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id=" wants to connect with you via " xml:space="preserve">
|
||||
<source> wants to connect with you via </source>
|
||||
<target> хочет связаться с вами через </target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="!1 colored!" xml:space="preserve">
|
||||
<source>!1 colored!</source>
|
||||
<target>!1 цвет!</target>
|
||||
@@ -133,7 +128,8 @@
|
||||
<trans-unit id="Accept" xml:space="preserve">
|
||||
<source>Accept</source>
|
||||
<target>Принять</target>
|
||||
<note>accept contact request via notification</note>
|
||||
<note>accept contact request via notification
|
||||
accept incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accept contact" xml:space="preserve">
|
||||
<source>Accept contact</source>
|
||||
@@ -165,11 +161,6 @@
|
||||
<target>Соединение уже установлено?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Answer" xml:space="preserve">
|
||||
<source>Answer</source>
|
||||
<target>Ответить</target>
|
||||
<note>accept incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Answer call" xml:space="preserve">
|
||||
<source>Answer call</source>
|
||||
<target>Принять звонок</target>
|
||||
@@ -185,16 +176,16 @@
|
||||
<target>Звонок уже завершен!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Call settings" xml:space="preserve">
|
||||
<source>Call settings</source>
|
||||
<target>Настройки звонков</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Cancel" xml:space="preserve">
|
||||
<source>Cancel</source>
|
||||
<target>Отменить</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Capabilities" xml:space="preserve">
|
||||
<source>Capabilities</source>
|
||||
<target>Возможности</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat console" xml:space="preserve">
|
||||
<source>Chat console</source>
|
||||
<target>Консоль</target>
|
||||
@@ -275,6 +266,11 @@
|
||||
<target>Соединиться через одноразовую ссылку?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Connect via relay" xml:space="preserve">
|
||||
<source>Connect via relay</source>
|
||||
<target>Соединяться через сервер (relay)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Connect with the developers" xml:space="preserve">
|
||||
<source>Connect with the developers</source>
|
||||
<target>Соединиться с разработчиками</target>
|
||||
@@ -460,11 +456,6 @@
|
||||
<target>Включить уведомления? (БЕТА)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="End" xml:space="preserve">
|
||||
<source>End</source>
|
||||
<target>Завершить</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Enter one SMP server per line:" xml:space="preserve">
|
||||
<source>Enter one SMP server per line:</source>
|
||||
<target>Введите SMP серверы, каждый на отдельной строке:</target>
|
||||
@@ -540,11 +531,6 @@
|
||||
<target>Как форматировать</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ICE" xml:space="preserve">
|
||||
<source>ICE</source>
|
||||
<target>ICE</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="If you can't meet in person, **show QR code in the video call**, or share the link." xml:space="preserve">
|
||||
<source>If you can't meet in person, **show QR code in the video call**, or share the link.</source>
|
||||
<target>Если вы не можете встретиться лично, вы можете **показать QR код во время видеозвонка**, или поделиться ссылкой.</target>
|
||||
@@ -558,7 +544,7 @@
|
||||
<trans-unit id="Ignore" xml:space="preserve">
|
||||
<source>Ignore</source>
|
||||
<target>Не отвечать</target>
|
||||
<note>ignore incoming call via notification</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Image will be received when your contact is online, please wait or check later!" xml:space="preserve">
|
||||
<source>Image will be received when your contact is online, please wait or check later!</source>
|
||||
@@ -748,7 +734,7 @@
|
||||
<trans-unit id="Reject" xml:space="preserve">
|
||||
<source>Reject</source>
|
||||
<target>Отклонить</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>reject incoming call via notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Reject contact (sender NOT notified)" xml:space="preserve">
|
||||
<source>Reject contact (sender NOT notified)</source>
|
||||
@@ -795,11 +781,6 @@
|
||||
<target>Сосканировать QR код контакта</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Send" xml:space="preserve">
|
||||
<source>Send</source>
|
||||
<target>Отправить</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Server connected" xml:space="preserve">
|
||||
<source>Server connected</source>
|
||||
<target>Установлено соединение с сервером</target>
|
||||
@@ -830,11 +811,6 @@
|
||||
<target>Показать ожидаемые соединения</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Start" xml:space="preserve">
|
||||
<source>Start</source>
|
||||
<target>Начать</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Take picture" xml:space="preserve">
|
||||
<source>Take picture</source>
|
||||
<target>Сделать фото</target>
|
||||
@@ -1113,9 +1089,9 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>наверху, затем выберите:</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted" xml:space="preserve">
|
||||
<source>accepted</source>
|
||||
<target>принятый звонок</target>
|
||||
<trans-unit id="accepted call" xml:space="preserve">
|
||||
<source>accepted call</source>
|
||||
<target> принятый звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="audio call (not e2e encrypted)" xml:space="preserve">
|
||||
@@ -1128,6 +1104,16 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>жирный</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call error" xml:space="preserve">
|
||||
<source>call error</source>
|
||||
<target>ошибка звонка</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call in progress" xml:space="preserve">
|
||||
<source>call in progress</source>
|
||||
<target>активный звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="calling…" xml:space="preserve">
|
||||
<source>calling…</source>
|
||||
<target>входящий звонок…</target>
|
||||
@@ -1148,11 +1134,15 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>соединение установлено</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting call…" xml:space="preserve">
|
||||
<source>connecting call…</source>
|
||||
<target>звонок соединяется…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>соединяется…</target>
|
||||
<note>call status
|
||||
chat list item title</note>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -1184,19 +1174,14 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>e2e зашифровано</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ended %@" xml:space="preserve">
|
||||
<source>ended %@</source>
|
||||
<target>завершен %@</target>
|
||||
<note>call status</note>
|
||||
<trans-unit id="ended" xml:space="preserve">
|
||||
<source>ended</source>
|
||||
<target>завершён</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="error" xml:space="preserve">
|
||||
<source>error</source>
|
||||
<target>ошибка соединения</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="in progress" xml:space="preserve">
|
||||
<source>in progress</source>
|
||||
<target>активный звонок</target>
|
||||
<trans-unit id="ended call %@" xml:space="preserve">
|
||||
<source>ended call %@</source>
|
||||
<target>завершённый звонок %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="invited to connect" xml:space="preserve">
|
||||
@@ -1209,8 +1194,8 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>курсив</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="missed" xml:space="preserve">
|
||||
<source>missed</source>
|
||||
<trans-unit id="missed call" xml:space="preserve">
|
||||
<source>missed call</source>
|
||||
<target>пропущенный звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
@@ -1234,9 +1219,14 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>получен ответ…</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected" xml:space="preserve">
|
||||
<source>rejected</source>
|
||||
<target>отклоненный звонок</target>
|
||||
<trans-unit id="received confirmation…" xml:space="preserve">
|
||||
<source>received confirmation…</source>
|
||||
<target>получено подтверждение…</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected call" xml:space="preserve">
|
||||
<source>rejected call</source>
|
||||
<target>отклонённый звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="secret" xml:space="preserve">
|
||||
@@ -1299,11 +1289,6 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>хочет соединиться с вами!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="with e2e encryption" xml:space="preserve">
|
||||
<source>with e2e encryption</source>
|
||||
<target>e2e зашифровано</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="you shared one-time link" xml:space="preserve">
|
||||
<source>you shared one-time link</source>
|
||||
<target>вы создали ссылку</target>
|
||||
@@ -1410,9 +1395,9 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>Вы можете отправлять сообщения %@</target>
|
||||
<note>notification body</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted" xml:space="preserve">
|
||||
<source>accepted</source>
|
||||
<target>принятый звонок</target>
|
||||
<trans-unit id="accepted call" xml:space="preserve">
|
||||
<source>accepted call</source>
|
||||
<target>принятный звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="audio call (not e2e encrypted)" xml:space="preserve">
|
||||
@@ -1420,16 +1405,30 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>аудиозвонок (не e2e зашифрованный)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call error" xml:space="preserve">
|
||||
<source>call error</source>
|
||||
<target>ошибка звонка</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="call in progress" xml:space="preserve">
|
||||
<source>call in progress</source>
|
||||
<target>активный звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="calling…" xml:space="preserve">
|
||||
<source>calling…</source>
|
||||
<target>входящий звонок…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting call…" xml:space="preserve">
|
||||
<source>connecting call…</source>
|
||||
<target>звонок соединяется…</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>соединяется…</target>
|
||||
<note>call status
|
||||
chat list item title</note>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -1446,19 +1445,9 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>удалено</target>
|
||||
<note>deleted chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ended %@" xml:space="preserve">
|
||||
<source>ended %@</source>
|
||||
<target>завершен %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="error" xml:space="preserve">
|
||||
<source>error</source>
|
||||
<target>ошибка соединения</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="in progress" xml:space="preserve">
|
||||
<source>in progress</source>
|
||||
<target>активный звонок</target>
|
||||
<trans-unit id="ended call %@" xml:space="preserve">
|
||||
<source>ended call %@</source>
|
||||
<target>завершённый звонок %@</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="invited to connect" xml:space="preserve">
|
||||
@@ -1466,19 +1455,14 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>приглашение соединиться</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="missed" xml:space="preserve">
|
||||
<source>missed</source>
|
||||
<trans-unit id="missed call" xml:space="preserve">
|
||||
<source>missed call</source>
|
||||
<target>пропущенный звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="no e2e encryption" xml:space="preserve">
|
||||
<source>no e2e encryption</source>
|
||||
<target>нет e2e шифрования</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="rejected" xml:space="preserve">
|
||||
<source>rejected</source>
|
||||
<target>отклоненный звонок</target>
|
||||
<trans-unit id="rejected call" xml:space="preserve">
|
||||
<source>rejected call</source>
|
||||
<target>отклонённый звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="via contact address link" xml:space="preserve">
|
||||
@@ -1496,11 +1480,6 @@ SimpleX серверы не могут получить доступ к ваше
|
||||
<target>видеозвонок (не e2e зашифрованный)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="with e2e encryption" xml:space="preserve">
|
||||
<source>with e2e encryption</source>
|
||||
<target>e2e зашифровано</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="you shared one-time link" xml:space="preserve">
|
||||
<source>you shared one-time link</source>
|
||||
<target>вы создали одноразовую ссылку</target>
|
||||
|
||||
BIN
Binary file not shown.
@@ -14,16 +14,24 @@
|
||||
"Accept contact request from %@?" = "Принять запрос на соединение от %@?";
|
||||
|
||||
/* call status */
|
||||
"accepted" = "принятый звонок";
|
||||
"accepted call" = "принятный звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"audio call (not e2e encrypted)" = "аудиозвонок (не e2e зашифрованный)";
|
||||
|
||||
/* call status */
|
||||
"call error" = "ошибка звонка";
|
||||
|
||||
/* call status */
|
||||
"call in progress" = "активный звонок";
|
||||
|
||||
/* call status */
|
||||
"calling…" = "входящий звонок…";
|
||||
|
||||
/* call status
|
||||
chat list item title */
|
||||
/* call status */
|
||||
"connecting call…" = "звонок соединяется…";
|
||||
|
||||
/* chat list item title */
|
||||
"connecting…" = "соединяется…";
|
||||
|
||||
/* chat list item title (it should not be shown */
|
||||
@@ -36,13 +44,7 @@
|
||||
"deleted" = "удалено";
|
||||
|
||||
/* call status */
|
||||
"ended %@" = "завершен %@";
|
||||
|
||||
/* call status */
|
||||
"error" = "ошибка соединения";
|
||||
|
||||
/* call status */
|
||||
"in progress" = "активный звонок";
|
||||
"ended call %@" = "завершённый звонок %@";
|
||||
|
||||
/* notification */
|
||||
"Incoming audio call" = "Входящий аудиозвонок";
|
||||
@@ -54,13 +56,10 @@
|
||||
"invited to connect" = "приглашение соединиться";
|
||||
|
||||
/* call status */
|
||||
"missed" = "пропущенный звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"no e2e encryption" = "нет e2e шифрования";
|
||||
"missed call" = "пропущенный звонок";
|
||||
|
||||
/* call status */
|
||||
"rejected" = "отклоненный звонок";
|
||||
"rejected call" = "отклонённый звонок";
|
||||
|
||||
/* chat list item description */
|
||||
"via contact address link" = "через ссылку-контакт";
|
||||
@@ -71,9 +70,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"video call (not e2e encrypted)" = "видеозвонок (не e2e зашифрованный)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"with e2e encryption" = "e2e зашифровано";
|
||||
|
||||
/* notification body */
|
||||
"You can now send messages to %@" = "Вы можете отправлять сообщения %@";
|
||||
|
||||
|
||||
@@ -23,10 +23,8 @@
|
||||
<false/>
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
<string>fetch</string>
|
||||
<string>remote-notification</string>
|
||||
<string>voip</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
3CDBCF4827FF621E00354CDD /* CILinkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CDBCF4727FF621E00354CDD /* CILinkView.swift */; };
|
||||
5C029EA82837DBB3004A9677 /* CICallItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C029EA72837DBB3004A9677 /* CICallItemView.swift */; };
|
||||
5C029EAA283942EA004A9677 /* CallController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C029EA9283942EA004A9677 /* CallController.swift */; };
|
||||
5C05DF532840AA1D00C683F9 /* CallSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C05DF522840AA1D00C683F9 /* CallSettings.swift */; };
|
||||
5C063D2727A4564100AEC577 /* ChatPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C063D2627A4564100AEC577 /* ChatPreviewView.swift */; };
|
||||
5C116CDC27AABE0400E66D01 /* ContactRequestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C116CDB27AABE0400E66D01 /* ContactRequestView.swift */; };
|
||||
5C13730B28156D2700F43030 /* ContactConnectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C13730A28156D2700F43030 /* ContactConnectionView.swift */; };
|
||||
@@ -138,6 +139,7 @@
|
||||
3CDBCF4727FF621E00354CDD /* CILinkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CILinkView.swift; sourceTree = "<group>"; };
|
||||
5C029EA72837DBB3004A9677 /* CICallItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CICallItemView.swift; sourceTree = "<group>"; };
|
||||
5C029EA9283942EA004A9677 /* CallController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallController.swift; sourceTree = "<group>"; };
|
||||
5C05DF522840AA1D00C683F9 /* CallSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallSettings.swift; sourceTree = "<group>"; };
|
||||
5C063D2627A4564100AEC577 /* ChatPreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatPreviewView.swift; sourceTree = "<group>"; };
|
||||
5C116CDB27AABE0400E66D01 /* ContactRequestView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactRequestView.swift; sourceTree = "<group>"; };
|
||||
5C13730A28156D2700F43030 /* ContactConnectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactConnectionView.swift; sourceTree = "<group>"; };
|
||||
@@ -463,6 +465,7 @@
|
||||
children = (
|
||||
5CB924D327A853F100ACCCDD /* SettingsButton.swift */,
|
||||
5CB924D627A8563F00ACCCDD /* SettingsView.swift */,
|
||||
5C05DF522840AA1D00C683F9 /* CallSettings.swift */,
|
||||
5CB924E327A8683A00ACCCDD /* UserAddress.swift */,
|
||||
5CB924E027A867BA00ACCCDD /* UserProfile.swift */,
|
||||
5C577F7C27C83AA10006112D /* MarkdownHelp.swift */,
|
||||
@@ -624,7 +627,6 @@
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
ru,
|
||||
);
|
||||
mainGroup = 5CA059BD279559F40002BEB4;
|
||||
@@ -717,6 +719,7 @@
|
||||
649BCDA0280460FD00C3A862 /* ComposeImageView.swift in Sources */,
|
||||
5CA059ED279559F40002BEB4 /* ContentView.swift in Sources */,
|
||||
5CCD403427A5F6DF00368C90 /* AddContactView.swift in Sources */,
|
||||
5C05DF532840AA1D00C683F9 /* CallSettings.swift in Sources */,
|
||||
5CFE0921282EEAF60002594B /* ZoomableScrollView.swift in Sources */,
|
||||
5C3A88CE27DF50170060F1C2 /* DetermineWidth.swift in Sources */,
|
||||
5CB0BA962827143500B3292C /* MakeConnection.swift in Sources */,
|
||||
|
||||
@@ -49,8 +49,7 @@
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES"
|
||||
showNonLocalizedStrings = "YES">
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
|
||||
@@ -7,9 +7,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
" (can be copied)" = " (можно скопировать)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
" wants to connect with you via " = " хочет связаться с вами через ";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"_italic_" = "\\_курсив_";
|
||||
|
||||
@@ -88,7 +85,8 @@
|
||||
/* No comment provided by engineer. */
|
||||
"above, then choose:" = "наверху, затем выберите:";
|
||||
|
||||
/* accept contact request via notification */
|
||||
/* accept contact request via notification
|
||||
accept incoming call via notification */
|
||||
"Accept" = "Принять";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -98,7 +96,7 @@
|
||||
"Accept contact request from %@?" = "Принять запрос на соединение от %@?";
|
||||
|
||||
/* call status */
|
||||
"accepted" = "принятый звонок";
|
||||
"accepted call" = " принятый звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add contact to start a new chat" = "Добавьте контакт, чтобы начать разговор";
|
||||
@@ -112,9 +110,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Already connected?" = "Соединение уже установлено?";
|
||||
|
||||
/* accept incoming call via notification */
|
||||
"Answer" = "Ответить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Answer call" = "Принять звонок";
|
||||
|
||||
@@ -130,15 +125,21 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Call already ended!" = "Звонок уже завершен!";
|
||||
|
||||
/* call status */
|
||||
"call error" = "ошибка звонка";
|
||||
|
||||
/* call status */
|
||||
"call in progress" = "активный звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Call settings" = "Настройки звонков";
|
||||
|
||||
/* call status */
|
||||
"calling…" = "входящий звонок…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Cancel" = "Отменить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Capabilities" = "Возможности";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat console" = "Консоль";
|
||||
|
||||
@@ -193,20 +194,25 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connect via one-time link?" = "Соединиться через одноразовую ссылку?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Connect via relay" = "Соединяться через сервер (relay)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Connect with the developers" = "Соединиться с разработчиками";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"connected" = "соединение установлено";
|
||||
|
||||
/* call status */
|
||||
"connecting call…" = "звонок соединяется…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting server…" = "Устанавливается соединение с сервером…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting server… (error: %@)" = "Устанавливается соединение с сервером… (ошибка: %@)";
|
||||
|
||||
/* call status
|
||||
chat list item title */
|
||||
/* chat list item title */
|
||||
"connecting…" = "соединяется…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -330,17 +336,14 @@
|
||||
"Enable notifications? (BETA)" = "Включить уведомления? (БЕТА)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"End" = "Завершить";
|
||||
"ended" = "завершён";
|
||||
|
||||
/* call status */
|
||||
"ended %@" = "завершен %@";
|
||||
"ended call %@" = "завершённый звонок %@";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Enter one SMP server per line:" = "Введите SMP серверы, каждый на отдельной строке:";
|
||||
|
||||
/* call status */
|
||||
"error" = "ошибка соединения";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Error deleting token" = "Ошибка удаления токена";
|
||||
|
||||
@@ -383,16 +386,13 @@
|
||||
/* No comment provided by engineer. */
|
||||
"How to use markdown" = "Как форматировать";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ICE" = "ICE";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"If you can't meet in person, **show QR code in the video call**, or share the link." = "Если вы не можете встретиться лично, вы можете **показать QR код во время видеозвонка**, или поделиться ссылкой.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"If you cannot meet in person, you can **scan QR code in the video call**, or your contact can share an invitation link." = "Если вы не можете встретиться лично, вы можете **сосканировать QR код во время видеозвонка**, или ваш контакт может отправить вам ссылку.";
|
||||
|
||||
/* ignore incoming call via notification */
|
||||
/* No comment provided by engineer. */
|
||||
"Ignore" = "Не отвечать";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -404,9 +404,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"In person or via a video call – the most secure way to connect." = "При встрече или в видеозвонке – самый безопасный способ установить соединение";
|
||||
|
||||
/* call status */
|
||||
"in progress" = "активный звонок";
|
||||
|
||||
/* notification */
|
||||
"Incoming audio call" = "Входящий аудиозвонок";
|
||||
|
||||
@@ -453,7 +450,7 @@
|
||||
"Message delivery error" = "Ошибка доставки сообщения";
|
||||
|
||||
/* call status */
|
||||
"missed" = "пропущенный звонок";
|
||||
"missed call" = "пропущенный звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Most likely this contact has deleted the connection with you." = "Скорее всего, этот контакт удалил соединение с вами.";
|
||||
@@ -531,6 +528,9 @@
|
||||
"received answer…" = "получен ответ…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"received confirmation…" = "получено подтверждение…";
|
||||
|
||||
/* reject incoming call via notification */
|
||||
"Reject" = "Отклонить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -540,7 +540,7 @@
|
||||
"Reject contact request" = "Отклонить запрос";
|
||||
|
||||
/* call status */
|
||||
"rejected" = "отклоненный звонок";
|
||||
"rejected call" = "отклонённый звонок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Reply" = "Ответить";
|
||||
@@ -563,9 +563,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"secret" = "секрет";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Send" = "Отправить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Server connected" = "Установлено соединение с сервером";
|
||||
|
||||
@@ -587,9 +584,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"SMP servers" = "SMP серверы";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Start" = "Начать";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"starting…" = "инициализация…";
|
||||
|
||||
@@ -698,9 +692,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Welcome %@!" = "Здравствуйте %@!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"with e2e encryption" = "e2e зашифровано";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You" = "Вы";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user