mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-29 04:39:53 +00:00
ui: operator information (#5343)
* ios: operator information * android, desktop: operator information * move texts, simplify navigation
This commit is contained in:
parent
cbb3da8f83
commit
fe0d811bf7
43 changed files with 254 additions and 273 deletions
|
@ -62,7 +62,6 @@ struct ChooseServerOperators: View {
|
||||||
var onboarding: Bool
|
var onboarding: Bool
|
||||||
@State private var serverOperators: [ServerOperator] = []
|
@State private var serverOperators: [ServerOperator] = []
|
||||||
@State private var selectedOperatorIds = Set<Int64>()
|
@State private var selectedOperatorIds = Set<Int64>()
|
||||||
@State private var reviewConditionsNavLinkActive = false
|
|
||||||
@State private var sheetItem: ChooseServerOperatorsSheet? = nil
|
@State private var sheetItem: ChooseServerOperatorsSheet? = nil
|
||||||
@State private var notificationsModeNavLinkActive = false
|
@State private var notificationsModeNavLinkActive = false
|
||||||
@State private var justOpened = true
|
@State private var justOpened = true
|
||||||
|
@ -79,7 +78,7 @@ struct ChooseServerOperators: View {
|
||||||
.frame(maxWidth: .infinity, alignment: .center)
|
.frame(maxWidth: .infinity, alignment: .center)
|
||||||
|
|
||||||
if onboarding {
|
if onboarding {
|
||||||
title.padding(.top, 50)
|
title.padding(.top, 25)
|
||||||
} else {
|
} else {
|
||||||
title
|
title
|
||||||
}
|
}
|
||||||
|
@ -92,11 +91,14 @@ struct ChooseServerOperators: View {
|
||||||
ForEach(serverOperators) { srvOperator in
|
ForEach(serverOperators) { srvOperator in
|
||||||
operatorCheckView(srvOperator)
|
operatorCheckView(srvOperator)
|
||||||
}
|
}
|
||||||
Text("You can configure servers via settings.")
|
VStack {
|
||||||
.font(.footnote)
|
Text("SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.").padding(.bottom, 8)
|
||||||
.multilineTextAlignment(.center)
|
Text("You can configure servers via settings.")
|
||||||
.frame(maxWidth: .infinity, alignment: .center)
|
}
|
||||||
.padding(.horizontal, 32)
|
.font(.footnote)
|
||||||
|
.multilineTextAlignment(.center)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .center)
|
||||||
|
.padding(.horizontal, 16)
|
||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
|
|
||||||
|
@ -166,8 +168,9 @@ struct ChooseServerOperators: View {
|
||||||
.modifier(ThemedBackground(grouped: true))
|
.modifier(ThemedBackground(grouped: true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.frame(maxHeight: .infinity, alignment: .top)
|
||||||
}
|
}
|
||||||
.frame(maxHeight: .infinity)
|
.frame(maxHeight: .infinity, alignment: .top)
|
||||||
.padding(onboarding ? 25 : 16)
|
.padding(onboarding ? 25 : 16)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,23 +217,15 @@ struct ChooseServerOperators: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func reviewConditionsButton() -> some View {
|
private func reviewConditionsButton() -> some View {
|
||||||
ZStack {
|
NavigationLink("Review conditions") {
|
||||||
Button {
|
reviewConditionsView()
|
||||||
reviewConditionsNavLinkActive = true
|
.navigationTitle("Conditions of use")
|
||||||
} label: {
|
.navigationBarTitleDisplayMode(.large)
|
||||||
Text("Review conditions")
|
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
||||||
}
|
.modifier(ThemedBackground(grouped: true))
|
||||||
.buttonStyle(OnboardingButtonStyle(isDisabled: selectedOperatorIds.isEmpty))
|
|
||||||
.disabled(selectedOperatorIds.isEmpty)
|
|
||||||
|
|
||||||
NavigationLink(isActive: $reviewConditionsNavLinkActive) {
|
|
||||||
reviewConditionsDestinationView()
|
|
||||||
} label: {
|
|
||||||
EmptyView()
|
|
||||||
}
|
|
||||||
.frame(width: 1, height: 1)
|
|
||||||
.hidden()
|
|
||||||
}
|
}
|
||||||
|
.buttonStyle(OnboardingButtonStyle(isDisabled: selectedOperatorIds.isEmpty))
|
||||||
|
.disabled(selectedOperatorIds.isEmpty)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setOperatorsButton() -> some View {
|
private func setOperatorsButton() -> some View {
|
||||||
|
@ -309,20 +304,12 @@ struct ChooseServerOperators: View {
|
||||||
.modifier(ThemedBackground())
|
.modifier(ThemedBackground())
|
||||||
}
|
}
|
||||||
|
|
||||||
private func reviewConditionsDestinationView() -> some View {
|
|
||||||
reviewConditionsView()
|
|
||||||
.navigationTitle("Conditions of use")
|
|
||||||
.navigationBarTitleDisplayMode(.large)
|
|
||||||
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
|
||||||
.modifier(ThemedBackground(grouped: true))
|
|
||||||
}
|
|
||||||
|
|
||||||
@ViewBuilder private func reviewConditionsView() -> some View {
|
@ViewBuilder private func reviewConditionsView() -> some View {
|
||||||
let operatorsWithConditionsAccepted = ChatModel.shared.conditions.serverOperators.filter { $0.conditionsAcceptance.conditionsAccepted }
|
let operatorsWithConditionsAccepted = ChatModel.shared.conditions.serverOperators.filter { $0.conditionsAcceptance.conditionsAccepted }
|
||||||
let acceptForOperators = selectedOperators.filter { !$0.conditionsAcceptance.conditionsAccepted }
|
let acceptForOperators = selectedOperators.filter { !$0.conditionsAcceptance.conditionsAccepted }
|
||||||
VStack(alignment: .leading, spacing: 20) {
|
VStack(alignment: .leading, spacing: 20) {
|
||||||
if !operatorsWithConditionsAccepted.isEmpty {
|
if !operatorsWithConditionsAccepted.isEmpty {
|
||||||
Text("Conditions are already accepted for following operator(s): **\(operatorsWithConditionsAccepted.map { $0.legalName_ }.joined(separator: ", "))**.")
|
Text("Conditions are already accepted for these operator(s): **\(operatorsWithConditionsAccepted.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||||
Text("The same conditions will apply to operator(s): **\(acceptForOperators.map { $0.legalName_ }.joined(separator: ", "))**.")
|
Text("The same conditions will apply to operator(s): **\(acceptForOperators.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||||
} else {
|
} else {
|
||||||
Text("Conditions will be accepted for operator(s): **\(acceptForOperators.map { $0.legalName_ }.joined(separator: ", "))**.")
|
Text("Conditions will be accepted for operator(s): **\(acceptForOperators.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||||
|
@ -415,13 +402,12 @@ struct ChooseServerOperatorsInfoView: View {
|
||||||
var body: some View {
|
var body: some View {
|
||||||
NavigationView {
|
NavigationView {
|
||||||
List {
|
List {
|
||||||
VStack(alignment: .leading) {
|
VStack(alignment: .leading, spacing: 12) {
|
||||||
Text("The app protects your privacy by using different operators in each conversation.")
|
Text("The app protects your privacy by using different operators in each conversation.")
|
||||||
.padding(.bottom)
|
|
||||||
Text("When more than one operator is enabled, none of them has metadata to learn who communicates with whom.")
|
Text("When more than one operator is enabled, none of them has metadata to learn who communicates with whom.")
|
||||||
.padding(.bottom)
|
|
||||||
Text("For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.")
|
Text("For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.")
|
||||||
}
|
}
|
||||||
|
.fixedSize(horizontal: false, vertical: true)
|
||||||
.listRowBackground(Color.clear)
|
.listRowBackground(Color.clear)
|
||||||
.listRowSeparator(.hidden)
|
.listRowSeparator(.hidden)
|
||||||
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
|
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
|
||||||
|
|
|
@ -136,7 +136,6 @@ struct CreateFirstProfile: View {
|
||||||
.multilineTextAlignment(.center)
|
.multilineTextAlignment(.center)
|
||||||
}
|
}
|
||||||
.frame(maxWidth: .infinity) // Ensures it takes up the full width
|
.frame(maxWidth: .infinity) // Ensures it takes up the full width
|
||||||
.padding(.top, 25)
|
|
||||||
.padding(.horizontal, 10)
|
.padding(.horizontal, 10)
|
||||||
|
|
||||||
HStack {
|
HStack {
|
||||||
|
|
|
@ -22,7 +22,7 @@ struct SetNotificationsMode: View {
|
||||||
Text("Push notifications")
|
Text("Push notifications")
|
||||||
.font(.largeTitle)
|
.font(.largeTitle)
|
||||||
.bold()
|
.bold()
|
||||||
.padding(.top, 50)
|
.padding(.top, 25)
|
||||||
|
|
||||||
infoText()
|
infoText()
|
||||||
|
|
||||||
|
|
|
@ -331,9 +331,12 @@ struct OperatorInfoView: View {
|
||||||
Text(d)
|
Text(d)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Link(serverOperator.info.website.absoluteString, destination: serverOperator.info.website)
|
||||||
}
|
}
|
||||||
Section {
|
if let selfhost = serverOperator.info.selfhost {
|
||||||
Link("\(serverOperator.info.website)", destination: URL(string: serverOperator.info.website)!)
|
Section {
|
||||||
|
Link(selfhost.text, destination: selfhost.link)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -421,7 +424,6 @@ struct SingleOperatorUsageConditionsView: View {
|
||||||
@Binding var userServers: [UserOperatorServers]
|
@Binding var userServers: [UserOperatorServers]
|
||||||
@Binding var serverErrors: [UserServersError]
|
@Binding var serverErrors: [UserServersError]
|
||||||
var operatorIndex: Int
|
var operatorIndex: Int
|
||||||
@State private var usageConditionsNavLinkActive: Bool = false
|
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
viewBody()
|
viewBody()
|
||||||
|
@ -433,52 +435,45 @@ struct SingleOperatorUsageConditionsView: View {
|
||||||
|
|
||||||
// In current UI implementation this branch doesn't get shown - as conditions can't be opened from inside operator once accepted
|
// In current UI implementation this branch doesn't get shown - as conditions can't be opened from inside operator once accepted
|
||||||
VStack(alignment: .leading, spacing: 20) {
|
VStack(alignment: .leading, spacing: 20) {
|
||||||
Group {
|
viewHeader()
|
||||||
viewHeader()
|
ConditionsTextView()
|
||||||
ConditionsTextView()
|
|
||||||
.padding(.bottom)
|
|
||||||
.padding(.bottom)
|
|
||||||
}
|
|
||||||
.padding(.horizontal)
|
|
||||||
}
|
}
|
||||||
|
.padding(.bottom)
|
||||||
|
.padding(.bottom)
|
||||||
|
.padding(.horizontal)
|
||||||
.frame(maxHeight: .infinity)
|
.frame(maxHeight: .infinity)
|
||||||
|
|
||||||
} else if !operatorsWithConditionsAccepted.isEmpty {
|
} else if !operatorsWithConditionsAccepted.isEmpty {
|
||||||
|
|
||||||
NavigationView {
|
NavigationView {
|
||||||
VStack(alignment: .leading, spacing: 20) {
|
VStack(alignment: .leading, spacing: 20) {
|
||||||
Group {
|
viewHeader()
|
||||||
viewHeader()
|
Text("Conditions are already accepted for these operator(s): **\(operatorsWithConditionsAccepted.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||||
Text("Conditions are already accepted for following operator(s): **\(operatorsWithConditionsAccepted.map { $0.legalName_ }.joined(separator: ", "))**.")
|
Text("The same conditions will apply to operator **\(userServers[operatorIndex].operator_.legalName_)**.")
|
||||||
Text("The same conditions will apply to operator **\(userServers[operatorIndex].operator_.legalName_)**.")
|
conditionsAppliedToOtherOperatorsText()
|
||||||
conditionsAppliedToOtherOperatorsText()
|
Spacer()
|
||||||
usageConditionsNavLinkButton()
|
|
||||||
|
|
||||||
Spacer()
|
acceptConditionsButton()
|
||||||
|
usageConditionsNavLinkButton()
|
||||||
acceptConditionsButton()
|
|
||||||
.padding(.bottom)
|
|
||||||
.padding(.bottom)
|
|
||||||
}
|
|
||||||
.padding(.horizontal)
|
|
||||||
}
|
}
|
||||||
|
.padding(.bottom)
|
||||||
|
.padding(.bottom)
|
||||||
|
.padding(.horizontal)
|
||||||
.frame(maxHeight: .infinity)
|
.frame(maxHeight: .infinity)
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
VStack(alignment: .leading, spacing: 20) {
|
VStack(alignment: .leading, spacing: 20) {
|
||||||
Group {
|
viewHeader()
|
||||||
viewHeader()
|
Text("To use the servers of **\(userServers[operatorIndex].operator_.legalName_)**, accept conditions of use.")
|
||||||
Text("To use the servers of **\(userServers[operatorIndex].operator_.legalName_)**, accept conditions of use.")
|
conditionsAppliedToOtherOperatorsText()
|
||||||
conditionsAppliedToOtherOperatorsText()
|
ConditionsTextView()
|
||||||
ConditionsTextView()
|
acceptConditionsButton()
|
||||||
acceptConditionsButton()
|
.padding(.bottom)
|
||||||
.padding(.bottom)
|
.padding(.bottom)
|
||||||
.padding(.bottom)
|
|
||||||
}
|
|
||||||
.padding(.horizontal)
|
|
||||||
}
|
}
|
||||||
|
.padding(.horizontal)
|
||||||
.frame(maxHeight: .infinity)
|
.frame(maxHeight: .infinity)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -545,31 +540,16 @@ struct SingleOperatorUsageConditionsView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func usageConditionsNavLinkButton() -> some View {
|
private func usageConditionsNavLinkButton() -> some View {
|
||||||
ZStack {
|
NavigationLink("View conditions") {
|
||||||
Button {
|
ConditionsTextView()
|
||||||
usageConditionsNavLinkActive = true
|
.padding()
|
||||||
} label: {
|
.navigationTitle("Conditions of use")
|
||||||
Text("View conditions")
|
.navigationBarTitleDisplayMode(.large)
|
||||||
}
|
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
||||||
|
.modifier(ThemedBackground(grouped: true))
|
||||||
NavigationLink(isActive: $usageConditionsNavLinkActive) {
|
|
||||||
usageConditionsDestinationView()
|
|
||||||
} label: {
|
|
||||||
EmptyView()
|
|
||||||
}
|
|
||||||
.frame(width: 1, height: 1)
|
|
||||||
.hidden()
|
|
||||||
}
|
}
|
||||||
}
|
.font(.callout)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .center)
|
||||||
private func usageConditionsDestinationView() -> some View {
|
|
||||||
ConditionsTextView()
|
|
||||||
.padding()
|
|
||||||
.padding(.bottom)
|
|
||||||
.navigationTitle("Conditions of use")
|
|
||||||
.navigationBarTitleDisplayMode(.large)
|
|
||||||
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
|
||||||
.modifier(ThemedBackground(grouped: true))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1537,8 +1537,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5766,7 +5766,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Запази и уведоми контакта</target>
|
<target>Запази и уведоми контакта</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6380,6 +6380,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleX Адрес</target>
|
<target>SimpleX Адрес</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Сигурността на SimpleX Chat беше одитирана от Trail of Bits.</target>
|
<target>Сигурността на SimpleX Chat беше одитирана от Trail of Bits.</target>
|
||||||
|
|
|
@ -1492,8 +1492,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5576,7 +5576,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Uložit a upozornit kontakt</target>
|
<target>Uložit a upozornit kontakt</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6178,6 +6178,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleX Adresa</target>
|
<target>SimpleX Adresa</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Zabezpečení SimpleX chatu bylo auditováno společností Trail of Bits.</target>
|
<target>Zabezpečení SimpleX chatu bylo auditováno společností Trail of Bits.</target>
|
||||||
|
|
|
@ -1606,8 +1606,8 @@
|
||||||
<target>Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.</target>
|
<target>Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**.</target>
|
<target>Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6034,7 +6034,7 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Speichern und Kontakt benachrichtigen</target>
|
<target>Speichern und Kontakt benachrichtigen</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6692,6 +6692,11 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||||
<target>SimpleX-Adresse</target>
|
<target>SimpleX-Adresse</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<target>SimpleX-Chat und Flux haben vereinbart, die von Flux betriebenen Server in die App aufzunehmen.</target>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Die Sicherheit von SimpleX Chat wurde von Trail of Bits überprüft.</target>
|
<target>Die Sicherheit von SimpleX Chat wurde von Trail of Bits überprüft.</target>
|
||||||
|
|
|
@ -1617,9 +1617,9 @@
|
||||||
<target>Conditions are accepted for the operator(s): **%@**.</target>
|
<target>Conditions are accepted for the operator(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Conditions are already accepted for following operator(s): **%@**.</target>
|
<target>Conditions are already accepted for these operator(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -6056,7 +6056,7 @@ Enable in *Network & servers* settings.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Save and notify contact</target>
|
<target>Save and notify contact</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6714,6 +6714,11 @@ Enable in *Network & servers* settings.</target>
|
||||||
<target>SimpleX Address</target>
|
<target>SimpleX Address</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<target>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</target>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>SimpleX Chat security was audited by Trail of Bits.</target>
|
<target>SimpleX Chat security was audited by Trail of Bits.</target>
|
||||||
|
|
|
@ -1606,8 +1606,8 @@
|
||||||
<target>Las condiciones se han aceptado para el(los) operador(s): **%@**.</target>
|
<target>Las condiciones se han aceptado para el(los) operador(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): **%@**.</target>
|
<target>Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6034,7 +6034,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Guardar y notificar contacto</target>
|
<target>Guardar y notificar contacto</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6692,6 +6692,11 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||||
<target>Dirección SimpleX</target>
|
<target>Dirección SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<target>Simplex Chat y Flux han acordado incluir servidores operados por Flux en la aplicación</target>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.</target>
|
<target>La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.</target>
|
||||||
|
|
|
@ -1485,8 +1485,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5564,7 +5564,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Tallenna ja ilmoita kontaktille</target>
|
<target>Tallenna ja ilmoita kontaktille</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6165,6 +6165,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleX-osoite</target>
|
<target>SimpleX-osoite</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Trail of Bits on tarkastanut SimpleX Chatin tietoturvan.</target>
|
<target>Trail of Bits on tarkastanut SimpleX Chatin tietoturvan.</target>
|
||||||
|
|
|
@ -1589,8 +1589,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5972,7 +5972,7 @@ Activez-le dans les paramètres *Réseau et serveurs*.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Enregistrer et en informer le contact</target>
|
<target>Enregistrer et en informer le contact</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6623,6 +6623,10 @@ Activez-le dans les paramètres *Réseau et serveurs*.</target>
|
||||||
<target>Adresse SimpleX</target>
|
<target>Adresse SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>La sécurité de SimpleX Chat a été auditée par Trail of Bits.</target>
|
<target>La sécurité de SimpleX Chat a été auditée par Trail of Bits.</target>
|
||||||
|
|
|
@ -1616,8 +1616,8 @@
|
||||||
<target>A következő üzemeltető(k) számára elfogadott feltételek: **%@**.</target>
|
<target>A következő üzemeltető(k) számára elfogadott feltételek: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>A feltételek már el lettek fogadva a következő üzemeltető(k) számára: **%@**.</target>
|
<target>A feltételek már el lettek fogadva a következő üzemeltető(k) számára: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6055,7 +6055,7 @@ Engedélyezze a „Beállítások -> Hálózat és kiszolgálók” menüben.
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Mentés és az ismerős értesítése</target>
|
<target>Mentés és az ismerős értesítése</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6713,6 +6713,10 @@ Engedélyezze a „Beállítások -> Hálózat és kiszolgálók” menüben.
|
||||||
<target>SimpleX-cím</target>
|
<target>SimpleX-cím</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>A SimpleX Chat biztonsága a Trail of Bits által lett auditálva.</target>
|
<target>A SimpleX Chat biztonsága a Trail of Bits által lett auditálva.</target>
|
||||||
|
|
|
@ -1616,8 +1616,8 @@
|
||||||
<target>Le condizioni sono state accettate per gli operatori: **%@**.</target>
|
<target>Le condizioni sono state accettate per gli operatori: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Le condizioni sono già state accettate per i seguenti operatori: **%@**.</target>
|
<target>Le condizioni sono già state accettate per i seguenti operatori: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6055,7 +6055,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Salva e avvisa il contatto</target>
|
<target>Salva e avvisa il contatto</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6713,6 +6713,10 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||||
<target>Indirizzo SimpleX</target>
|
<target>Indirizzo SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>La sicurezza di SimpleX Chat è stata verificata da Trail of Bits.</target>
|
<target>La sicurezza di SimpleX Chat è stata verificata da Trail of Bits.</target>
|
||||||
|
|
|
@ -1515,8 +1515,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5613,7 +5613,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>保存して、連絡先にに知らせる</target>
|
<target>保存して、連絡先にに知らせる</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6207,6 +6207,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleXアドレス</target>
|
<target>SimpleXアドレス</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>SimpleX Chat のセキュリティは Trail of Bits によって監査されました。</target>
|
<target>SimpleX Chat のセキュリティは Trail of Bits によって監査されました。</target>
|
||||||
|
|
|
@ -1616,8 +1616,8 @@
|
||||||
<target>Voorwaarden worden geaccepteerd voor de operator(s): **%@**.</target>
|
<target>Voorwaarden worden geaccepteerd voor de operator(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**.</target>
|
<target>Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6055,7 +6055,7 @@ Schakel dit in in *Netwerk en servers*-instellingen.</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Opslaan en Contact melden</target>
|
<target>Opslaan en Contact melden</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6713,6 +6713,11 @@ Schakel dit in in *Netwerk en servers*-instellingen.</target>
|
||||||
<target>SimpleX adres</target>
|
<target>SimpleX adres</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<target>Simplex-chat en flux hebben een overeenkomst gemaakt om door flux geëxploiteerde servers in de app op te nemen.</target>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.</target>
|
<target>De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.</target>
|
||||||
|
|
|
@ -1584,8 +1584,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5962,7 +5962,7 @@ Włącz w ustawianiach *Sieć i serwery* .</target>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Zapisz i powiadom kontakt</target>
|
<target>Zapisz i powiadom kontakt</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6613,6 +6613,10 @@ Włącz w ustawianiach *Sieć i serwery* .</target>
|
||||||
<target>Adres SimpleX</target>
|
<target>Adres SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Bezpieczeństwo SimpleX Chat zostało zaudytowane przez Trail of Bits.</target>
|
<target>Bezpieczeństwo SimpleX Chat zostało zaudytowane przez Trail of Bits.</target>
|
||||||
|
|
|
@ -1617,8 +1617,8 @@
|
||||||
<target>Условия приняты для оператора(ов): **%@**.</target>
|
<target>Условия приняты для оператора(ов): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Условия уже приняты для следующих оператора(ов): **%@**.</target>
|
<target>Условия уже приняты для следующих оператора(ов): **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6055,7 +6055,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Сохранить и уведомить контакт</target>
|
<target>Сохранить и уведомить контакт</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6713,6 +6713,11 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>Адрес SimpleX</target>
|
<target>Адрес SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<target>SimpleX Chat и Flux заключили соглашение добавить серверы под управлением Flux в приложение.</target>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Безопасность SimpleX Chat была проверена Trail of Bits.</target>
|
<target>Безопасность SimpleX Chat была проверена Trail of Bits.</target>
|
||||||
|
|
|
@ -1477,8 +1477,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5541,7 +5541,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>บันทึกและแจ้งผู้ติดต่อ</target>
|
<target>บันทึกและแจ้งผู้ติดต่อ</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6139,6 +6139,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>ที่อยู่ SimpleX</target>
|
<target>ที่อยู่ SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>ความปลอดภัยของ SimpleX Chat ได้รับการตรวจสอบโดย Trail of Bits</target>
|
<target>ความปลอดภัยของ SimpleX Chat ได้รับการตรวจสอบโดย Trail of Bits</target>
|
||||||
|
|
|
@ -1589,8 +1589,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5972,7 +5972,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Kaydet ve kişilere bildir</target>
|
<target>Kaydet ve kişilere bildir</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6623,6 +6623,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleX Adresi</target>
|
<target>SimpleX Adresi</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>SimpleX Chat güvenliği Trails of Bits tarafından denetlenmiştir.</target>
|
<target>SimpleX Chat güvenliği Trails of Bits tarafından denetlenmiştir.</target>
|
||||||
|
|
|
@ -1606,8 +1606,8 @@
|
||||||
<target>Для оператора(ів) приймаються умови: **%@**.</target>
|
<target>Для оператора(ів) приймаються умови: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<target>Умови вже прийняті для наступних операторів: **%@**.</target>
|
<target>Умови вже прийняті для наступних операторів: **%@**.</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
@ -6034,7 +6034,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>Зберегти та повідомити контакт</target>
|
<target>Зберегти та повідомити контакт</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6692,6 +6692,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>Адреса SimpleX</target>
|
<target>Адреса SimpleX</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>Безпека SimpleX Chat була перевірена компанією Trail of Bits.</target>
|
<target>Безпека SimpleX Chat була перевірена компанією Trail of Bits.</target>
|
||||||
|
|
|
@ -1575,8 +1575,8 @@
|
||||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||||
|
@ -5925,7 +5925,7 @@ Enable in *Network & servers* settings.</source>
|
||||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||||
<source>Save and notify contact</source>
|
<source>Save and notify contact</source>
|
||||||
<target>保存并通知联系人</target>
|
<target>保存并通知联系人</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>alert button</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||||
<source>Save and notify group members</source>
|
<source>Save and notify group members</source>
|
||||||
|
@ -6570,6 +6570,10 @@ Enable in *Network & servers* settings.</source>
|
||||||
<target>SimpleX 地址</target>
|
<target>SimpleX 地址</target>
|
||||||
<note>No comment provided by engineer.</note>
|
<note>No comment provided by engineer.</note>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve">
|
||||||
|
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||||
|
<note>No comment provided by engineer.</note>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
<trans-unit id="SimpleX Chat security was audited by Trail of Bits." xml:space="preserve">
|
||||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||||
<target>SimpleX Chat 的安全性 由 Trail of Bits 审核。</target>
|
<target>SimpleX Chat 的安全性 由 Trail of Bits 审核。</target>
|
||||||
|
|
|
@ -1212,13 +1212,12 @@ public enum ServerProtocol: String, Decodable {
|
||||||
public enum OperatorTag: String, Codable {
|
public enum OperatorTag: String, Codable {
|
||||||
case simplex = "simplex"
|
case simplex = "simplex"
|
||||||
case flux = "flux"
|
case flux = "flux"
|
||||||
case xyz = "xyz"
|
|
||||||
case demo = "demo"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct ServerOperatorInfo: Decodable {
|
public struct ServerOperatorInfo {
|
||||||
public var description: [String]
|
public var description: [String]
|
||||||
public var website: String
|
public var website: URL
|
||||||
|
public var selfhost: (text: String, link: URL)? = nil
|
||||||
public var logo: String
|
public var logo: String
|
||||||
public var largeLogo: String
|
public var largeLogo: String
|
||||||
public var logoDarkMode: String
|
public var logoDarkMode: String
|
||||||
|
@ -1228,10 +1227,10 @@ public struct ServerOperatorInfo: Decodable {
|
||||||
public let operatorsInfo: Dictionary<OperatorTag, ServerOperatorInfo> = [
|
public let operatorsInfo: Dictionary<OperatorTag, ServerOperatorInfo> = [
|
||||||
.simplex: ServerOperatorInfo(
|
.simplex: ServerOperatorInfo(
|
||||||
description: [
|
description: [
|
||||||
"SimpleX Chat is the first communication network that has no user profile IDs of any kind, not even random numbers or keys that identify the users.",
|
"SimpleX Chat is the first communication network that has no user profile IDs of any kind, not even random numbers or identity keys.",
|
||||||
"SimpleX Chat Ltd develops the communication software for SimpleX network."
|
"SimpleX Chat Ltd develops the communication software for SimpleX network."
|
||||||
],
|
],
|
||||||
website: "https://simplex.chat",
|
website: URL(string: "https://simplex.chat")!,
|
||||||
logo: "decentralized",
|
logo: "decentralized",
|
||||||
largeLogo: "logo",
|
largeLogo: "logo",
|
||||||
logoDarkMode: "decentralized-light",
|
logoDarkMode: "decentralized-light",
|
||||||
|
@ -1239,31 +1238,17 @@ public let operatorsInfo: Dictionary<OperatorTag, ServerOperatorInfo> = [
|
||||||
),
|
),
|
||||||
.flux: ServerOperatorInfo(
|
.flux: ServerOperatorInfo(
|
||||||
description: [
|
description: [
|
||||||
"Flux is the largest decentralized cloud infrastructure, leveraging a global network of user-operated computational nodes.",
|
"Flux is the largest decentralized cloud, based on a global network of user-operated nodes.",
|
||||||
"Flux offers a powerful, scalable, and affordable platform designed to support individuals, businesses, and cutting-edge technologies like AI. With high uptime and worldwide distribution, Flux ensures reliable, accessible cloud computing for all."
|
"Flux offers a powerful, scalable, and affordable cutting edge technology platform for all.",
|
||||||
|
"Flux operates servers in SimpleX network to improve its privacy and decentralization."
|
||||||
],
|
],
|
||||||
website: "https://runonflux.com",
|
website: URL(string: "https://runonflux.com")!,
|
||||||
|
selfhost: (text: "Self-host SimpleX servers on Flux", link: URL(string: "https://home.runonflux.io/apps/marketplace?q=simplex")!),
|
||||||
logo: "flux_logo_symbol",
|
logo: "flux_logo_symbol",
|
||||||
largeLogo: "flux_logo",
|
largeLogo: "flux_logo",
|
||||||
logoDarkMode: "flux_logo_symbol",
|
logoDarkMode: "flux_logo_symbol",
|
||||||
largeLogoDarkMode: "flux_logo-light"
|
largeLogoDarkMode: "flux_logo-light"
|
||||||
),
|
),
|
||||||
.xyz: ServerOperatorInfo(
|
|
||||||
description: ["XYZ servers"],
|
|
||||||
website: "XYZ website",
|
|
||||||
logo: "shield",
|
|
||||||
largeLogo: "logo",
|
|
||||||
logoDarkMode: "shield",
|
|
||||||
largeLogoDarkMode: "logo-light"
|
|
||||||
),
|
|
||||||
.demo: ServerOperatorInfo(
|
|
||||||
description: ["Demo operator"],
|
|
||||||
website: "Demo website",
|
|
||||||
logo: "decentralized",
|
|
||||||
largeLogo: "logo",
|
|
||||||
logoDarkMode: "decentralized-light",
|
|
||||||
largeLogoDarkMode: "logo-light"
|
|
||||||
)
|
|
||||||
]
|
]
|
||||||
|
|
||||||
public struct UsageConditions: Decodable {
|
public struct UsageConditions: Decodable {
|
||||||
|
@ -1358,7 +1343,7 @@ public struct ServerOperator: Identifiable, Equatable, Codable {
|
||||||
|
|
||||||
public static let dummyOperatorInfo = ServerOperatorInfo(
|
public static let dummyOperatorInfo = ServerOperatorInfo(
|
||||||
description: ["Default"],
|
description: ["Default"],
|
||||||
website: "Default",
|
website: URL(string: "https://simplex.chat")!,
|
||||||
logo: "decentralized",
|
logo: "decentralized",
|
||||||
largeLogo: "logo",
|
largeLogo: "logo",
|
||||||
logoDarkMode: "decentralized-light",
|
logoDarkMode: "decentralized-light",
|
||||||
|
@ -1384,30 +1369,6 @@ public struct ServerOperator: Identifiable, Equatable, Codable {
|
||||||
smpRoles: ServerRoles(storage: true, proxy: true),
|
smpRoles: ServerRoles(storage: true, proxy: true),
|
||||||
xftpRoles: ServerRoles(storage: true, proxy: true)
|
xftpRoles: ServerRoles(storage: true, proxy: true)
|
||||||
)
|
)
|
||||||
|
|
||||||
public static var sampleData2 = ServerOperator(
|
|
||||||
operatorId: 2,
|
|
||||||
operatorTag: .xyz,
|
|
||||||
tradeName: "XYZ",
|
|
||||||
legalName: nil,
|
|
||||||
serverDomains: ["xyz.com"],
|
|
||||||
conditionsAcceptance: .required(deadline: nil),
|
|
||||||
enabled: false,
|
|
||||||
smpRoles: ServerRoles(storage: false, proxy: true),
|
|
||||||
xftpRoles: ServerRoles(storage: false, proxy: true)
|
|
||||||
)
|
|
||||||
|
|
||||||
public static var sampleData3 = ServerOperator(
|
|
||||||
operatorId: 3,
|
|
||||||
operatorTag: .demo,
|
|
||||||
tradeName: "Demo",
|
|
||||||
legalName: nil,
|
|
||||||
serverDomains: ["demo.com"],
|
|
||||||
conditionsAcceptance: .required(deadline: nil),
|
|
||||||
enabled: false,
|
|
||||||
smpRoles: ServerRoles(storage: true, proxy: false),
|
|
||||||
xftpRoles: ServerRoles(storage: true, proxy: false)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct ServerRoles: Equatable, Codable {
|
public struct ServerRoles: Equatable, Codable {
|
||||||
|
|
|
@ -3139,7 +3139,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Запази (и уведоми контактите)";
|
"Save (and notify contacts)" = "Запази (и уведоми контактите)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Запази и уведоми контакта";
|
"Save and notify contact" = "Запази и уведоми контакта";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -2538,7 +2538,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Uložit (a informovat kontakty)";
|
"Save (and notify contacts)" = "Uložit (a informovat kontakty)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Uložit a upozornit kontakt";
|
"Save and notify contact" = "Uložit a upozornit kontakt";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1030,7 +1030,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Nutzungsbedingungen";
|
"Conditions of use" = "Nutzungsbedingungen";
|
||||||
|
@ -3952,7 +3952,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Speichern (und Kontakte benachrichtigen)";
|
"Save (and notify contacts)" = "Speichern (und Kontakte benachrichtigen)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Speichern und Kontakt benachrichtigen";
|
"Save and notify contact" = "Speichern und Kontakt benachrichtigen";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
@ -4391,6 +4391,9 @@
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX address or 1-time link?" = "SimpleX-Adresse oder Einmal-Link?";
|
"SimpleX address or 1-time link?" = "SimpleX-Adresse oder Einmal-Link?";
|
||||||
|
|
||||||
|
/* No comment provided by engineer. */
|
||||||
|
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "SimpleX-Chat und Flux haben vereinbart, die von Flux betriebenen Server in die App aufzunehmen.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX Chat security was audited by Trail of Bits." = "Die Sicherheit von SimpleX Chat wurde von Trail of Bits überprüft.";
|
"SimpleX Chat security was audited by Trail of Bits." = "Die Sicherheit von SimpleX Chat wurde von Trail of Bits überprüft.";
|
||||||
|
|
||||||
|
|
|
@ -1030,7 +1030,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Las condiciones se han aceptado para el(los) operador(s): **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Las condiciones se han aceptado para el(los) operador(s): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Condiciones de uso";
|
"Conditions of use" = "Condiciones de uso";
|
||||||
|
@ -3952,7 +3952,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Guardar (y notificar contactos)";
|
"Save (and notify contacts)" = "Guardar (y notificar contactos)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Guardar y notificar contacto";
|
"Save and notify contact" = "Guardar y notificar contacto";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
@ -4391,6 +4391,9 @@
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX address or 1-time link?" = "Dirección SimpleX o enlace de un uso?";
|
"SimpleX address or 1-time link?" = "Dirección SimpleX o enlace de un uso?";
|
||||||
|
|
||||||
|
/* No comment provided by engineer. */
|
||||||
|
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "Simplex Chat y Flux han acordado incluir servidores operados por Flux en la aplicación";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX Chat security was audited by Trail of Bits." = "La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.";
|
"SimpleX Chat security was audited by Trail of Bits." = "La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.";
|
||||||
|
|
||||||
|
|
|
@ -2508,7 +2508,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Tallenna (ja ilmoita kontakteille)";
|
"Save (and notify contacts)" = "Tallenna (ja ilmoita kontakteille)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Tallenna ja ilmoita kontaktille";
|
"Save and notify contact" = "Tallenna ja ilmoita kontaktille";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -3763,7 +3763,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Enregistrer (et en informer les contacts)";
|
"Save (and notify contacts)" = "Enregistrer (et en informer les contacts)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Enregistrer et en informer le contact";
|
"Save and notify contact" = "Enregistrer et en informer le contact";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1060,7 +1060,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "A következő üzemeltető(k) számára elfogadott feltételek: **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "A következő üzemeltető(k) számára elfogadott feltételek: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "A feltételek már el lettek fogadva a következő üzemeltető(k) számára: **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "A feltételek már el lettek fogadva a következő üzemeltető(k) számára: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Használati feltételek";
|
"Conditions of use" = "Használati feltételek";
|
||||||
|
@ -4015,7 +4015,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Mentés és az ismerősök értesítése";
|
"Save (and notify contacts)" = "Mentés és az ismerősök értesítése";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Mentés és az ismerős értesítése";
|
"Save and notify contact" = "Mentés és az ismerős értesítése";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1060,7 +1060,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Le condizioni sono state accettate per gli operatori: **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Le condizioni sono state accettate per gli operatori: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Le condizioni sono già state accettate per i seguenti operatori: **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Le condizioni sono già state accettate per i seguenti operatori: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Condizioni d'uso";
|
"Conditions of use" = "Condizioni d'uso";
|
||||||
|
@ -4015,7 +4015,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Salva (e avvisa i contatti)";
|
"Save (and notify contacts)" = "Salva (e avvisa i contatti)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Salva e avvisa il contatto";
|
"Save and notify contact" = "Salva e avvisa il contatto";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -2655,7 +2655,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "保存(連絡先に通知)";
|
"Save (and notify contacts)" = "保存(連絡先に通知)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "保存して、連絡先にに知らせる";
|
"Save and notify contact" = "保存して、連絡先にに知らせる";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1060,7 +1060,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Voorwaarden worden geaccepteerd voor de operator(s): **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Voorwaarden worden geaccepteerd voor de operator(s): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Gebruiksvoorwaarden";
|
"Conditions of use" = "Gebruiksvoorwaarden";
|
||||||
|
@ -4015,7 +4015,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Bewaar (en informeer contacten)";
|
"Save (and notify contacts)" = "Bewaar (en informeer contacten)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Opslaan en Contact melden";
|
"Save and notify contact" = "Opslaan en Contact melden";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
@ -4454,6 +4454,9 @@
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX address or 1-time link?" = "SimpleX adres of eenmalige link?";
|
"SimpleX address or 1-time link?" = "SimpleX adres of eenmalige link?";
|
||||||
|
|
||||||
|
/* No comment provided by engineer. */
|
||||||
|
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "Simplex-chat en flux hebben een overeenkomst gemaakt om door flux geëxploiteerde servers in de app op te nemen.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX Chat security was audited by Trail of Bits." = "De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.";
|
"SimpleX Chat security was audited by Trail of Bits." = "De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.";
|
||||||
|
|
||||||
|
|
|
@ -3736,7 +3736,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Zapisz (i powiadom kontakty)";
|
"Save (and notify contacts)" = "Zapisz (i powiadom kontakty)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Zapisz i powiadom kontakt";
|
"Save and notify contact" = "Zapisz i powiadom kontakt";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1066,7 +1066,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Условия приняты для оператора(ов): **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Условия приняты для оператора(ов): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Условия уже приняты для следующих оператора(ов): **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Условия уже приняты для следующих оператора(ов): **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Условия использования";
|
"Conditions of use" = "Условия использования";
|
||||||
|
@ -4024,7 +4024,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Сохранить (и уведомить контакты)";
|
"Save (and notify contacts)" = "Сохранить (и уведомить контакты)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Сохранить и уведомить контакт";
|
"Save and notify contact" = "Сохранить и уведомить контакт";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
@ -4463,6 +4463,9 @@
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX address or 1-time link?" = "Адрес SimpleX или одноразовая ссылка?";
|
"SimpleX address or 1-time link?" = "Адрес SimpleX или одноразовая ссылка?";
|
||||||
|
|
||||||
|
/* No comment provided by engineer. */
|
||||||
|
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "SimpleX Chat и Flux заключили соглашение добавить серверы под управлением Flux в приложение.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"SimpleX Chat security was audited by Trail of Bits." = "Безопасность SimpleX Chat была проверена Trail of Bits.";
|
"SimpleX Chat security was audited by Trail of Bits." = "Безопасность SimpleX Chat была проверена Trail of Bits.";
|
||||||
|
|
||||||
|
|
|
@ -2439,7 +2439,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "บันทึก (และแจ้งผู้ติดต่อ)";
|
"Save (and notify contacts)" = "บันทึก (และแจ้งผู้ติดต่อ)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "บันทึกและแจ้งผู้ติดต่อ";
|
"Save and notify contact" = "บันทึกและแจ้งผู้ติดต่อ";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -3763,7 +3763,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Kaydet (ve kişilere bildir)";
|
"Save (and notify contacts)" = "Kaydet (ve kişilere bildir)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Kaydet ve kişilere bildir";
|
"Save and notify contact" = "Kaydet ve kişilere bildir";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -1030,7 +1030,7 @@
|
||||||
"Conditions are accepted for the operator(s): **%@**." = "Для оператора(ів) приймаються умови: **%@**.";
|
"Conditions are accepted for the operator(s): **%@**." = "Для оператора(ів) приймаються умови: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions are already accepted for following operator(s): **%@**." = "Умови вже прийняті для наступних операторів: **%@**.";
|
"Conditions are already accepted for these operator(s): **%@**." = "Умови вже прийняті для наступних операторів: **%@**.";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"Conditions of use" = "Умови використання";
|
"Conditions of use" = "Умови використання";
|
||||||
|
@ -3952,7 +3952,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "Зберегти (і повідомити контактам)";
|
"Save (and notify contacts)" = "Зберегти (і повідомити контактам)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "Зберегти та повідомити контакт";
|
"Save and notify contact" = "Зберегти та повідомити контакт";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -3634,7 +3634,7 @@
|
||||||
/* alert button */
|
/* alert button */
|
||||||
"Save (and notify contacts)" = "保存(并通知联系人)";
|
"Save (and notify contacts)" = "保存(并通知联系人)";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* alert button */
|
||||||
"Save and notify contact" = "保存并通知联系人";
|
"Save and notify contact" = "保存并通知联系人";
|
||||||
|
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
|
|
|
@ -3669,14 +3669,13 @@ enum class ServerProtocol {
|
||||||
@Serializable
|
@Serializable
|
||||||
enum class OperatorTag {
|
enum class OperatorTag {
|
||||||
@SerialName("simplex") SimpleX,
|
@SerialName("simplex") SimpleX,
|
||||||
@SerialName("flux") Flux,
|
@SerialName("flux") Flux
|
||||||
@SerialName("xyz") XYZ,
|
|
||||||
@SerialName("demo") Demo
|
|
||||||
}
|
}
|
||||||
|
|
||||||
data class ServerOperatorInfo(
|
data class ServerOperatorInfo(
|
||||||
val description: List<String>,
|
val description: List<String>,
|
||||||
val website: String,
|
val website: String,
|
||||||
|
val selfhost: Pair<String, String>? = null,
|
||||||
val logo: ImageResource,
|
val logo: ImageResource,
|
||||||
val largeLogo: ImageResource,
|
val largeLogo: ImageResource,
|
||||||
val logoDarkMode: ImageResource,
|
val logoDarkMode: ImageResource,
|
||||||
|
@ -3696,31 +3695,17 @@ val operatorsInfo: Map<OperatorTag, ServerOperatorInfo> = mapOf(
|
||||||
),
|
),
|
||||||
OperatorTag.Flux to ServerOperatorInfo(
|
OperatorTag.Flux to ServerOperatorInfo(
|
||||||
description = listOf(
|
description = listOf(
|
||||||
"Flux is the largest decentralized cloud infrastructure, leveraging a global network of user-operated computational nodes.",
|
"Flux is the largest decentralized cloud, based on a global network of user-operated nodes.",
|
||||||
"Flux offers a powerful, scalable, and affordable platform designed to support individuals, businesses, and cutting-edge technologies like AI. With high uptime and worldwide distribution, Flux ensures reliable, accessible cloud computing for all."
|
"Flux offers a powerful, scalable, and affordable cutting edge technology platform for all.",
|
||||||
|
"Flux operates servers in SimpleX network to improve its privacy and decentralization."
|
||||||
),
|
),
|
||||||
website = "https://runonflux.com",
|
website = "https://runonflux.com",
|
||||||
|
selfhost = "Self-host SimpleX servers on Flux" to "https://home.runonflux.io/apps/marketplace?q=simplex",
|
||||||
logo = MR.images.flux_logo_symbol,
|
logo = MR.images.flux_logo_symbol,
|
||||||
largeLogo = MR.images.flux_logo,
|
largeLogo = MR.images.flux_logo,
|
||||||
logoDarkMode = MR.images.flux_logo_symbol,
|
logoDarkMode = MR.images.flux_logo_symbol,
|
||||||
largeLogoDarkMode = MR.images.flux_logo_light
|
largeLogoDarkMode = MR.images.flux_logo_light
|
||||||
),
|
),
|
||||||
OperatorTag.XYZ to ServerOperatorInfo(
|
|
||||||
description = listOf("XYZ servers"),
|
|
||||||
website = "XYZ website",
|
|
||||||
logo = MR.images.shield,
|
|
||||||
largeLogo = MR.images.logo,
|
|
||||||
logoDarkMode = MR.images.shield,
|
|
||||||
largeLogoDarkMode = MR.images.logo_light
|
|
||||||
),
|
|
||||||
OperatorTag.Demo to ServerOperatorInfo(
|
|
||||||
description = listOf("Demo operator"),
|
|
||||||
website = "Demo website",
|
|
||||||
logo = MR.images.decentralized,
|
|
||||||
largeLogo = MR.images.logo,
|
|
||||||
logoDarkMode = MR.images.decentralized_light,
|
|
||||||
largeLogoDarkMode = MR.images.logo_light
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@ -3800,7 +3785,7 @@ data class ServerOperator(
|
||||||
companion object {
|
companion object {
|
||||||
val dummyOperatorInfo = ServerOperatorInfo(
|
val dummyOperatorInfo = ServerOperatorInfo(
|
||||||
description = listOf("Default"),
|
description = listOf("Default"),
|
||||||
website = "Default",
|
website = "https://simplex.chat",
|
||||||
logo = MR.images.decentralized,
|
logo = MR.images.decentralized,
|
||||||
largeLogo = MR.images.logo,
|
largeLogo = MR.images.logo,
|
||||||
logoDarkMode = MR.images.decentralized_light,
|
logoDarkMode = MR.images.decentralized_light,
|
||||||
|
@ -3818,30 +3803,6 @@ data class ServerOperator(
|
||||||
smpRoles = ServerRoles(storage = true, proxy = true),
|
smpRoles = ServerRoles(storage = true, proxy = true),
|
||||||
xftpRoles = ServerRoles(storage = true, proxy = true)
|
xftpRoles = ServerRoles(storage = true, proxy = true)
|
||||||
)
|
)
|
||||||
|
|
||||||
val sampleData2 = ServerOperator(
|
|
||||||
operatorId = 2,
|
|
||||||
operatorTag = OperatorTag.XYZ,
|
|
||||||
tradeName = "XYZ",
|
|
||||||
legalName = null,
|
|
||||||
serverDomains = listOf("xyz.com"),
|
|
||||||
conditionsAcceptance = ConditionsAcceptance.Required(deadline = null),
|
|
||||||
enabled = false,
|
|
||||||
smpRoles = ServerRoles(storage = false, proxy = true),
|
|
||||||
xftpRoles = ServerRoles(storage = false, proxy = true)
|
|
||||||
)
|
|
||||||
|
|
||||||
val sampleData3 = ServerOperator(
|
|
||||||
operatorId = 3,
|
|
||||||
operatorTag = OperatorTag.Demo,
|
|
||||||
tradeName = "Demo",
|
|
||||||
legalName = null,
|
|
||||||
serverDomains = listOf("demo.com"),
|
|
||||||
conditionsAcceptance = ConditionsAcceptance.Required(deadline = null),
|
|
||||||
enabled = false,
|
|
||||||
smpRoles = ServerRoles(storage = true, proxy = false),
|
|
||||||
xftpRoles = ServerRoles(storage = true, proxy = false)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val id: Long
|
val id: Long
|
||||||
|
|
|
@ -14,8 +14,10 @@ import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.compose.ui.unit.sp
|
||||||
import chat.simplex.common.model.*
|
import chat.simplex.common.model.*
|
||||||
import chat.simplex.common.model.ChatController.appPrefs
|
import chat.simplex.common.model.ChatController.appPrefs
|
||||||
import chat.simplex.common.platform.*
|
import chat.simplex.common.platform.*
|
||||||
|
@ -72,6 +74,7 @@ fun ModalData.ChooseServerOperators(
|
||||||
}
|
}
|
||||||
Spacer(Modifier.height(DEFAULT_PADDING_HALF))
|
Spacer(Modifier.height(DEFAULT_PADDING_HALF))
|
||||||
|
|
||||||
|
SectionTextFooter(annotatedStringResource(MR.strings.onboarding_network_operators_simplex_flux_agreement), textAlign = TextAlign.Center)
|
||||||
SectionTextFooter(annotatedStringResource(MR.strings.onboarding_network_operators_configure_via_settings), textAlign = TextAlign.Center)
|
SectionTextFooter(annotatedStringResource(MR.strings.onboarding_network_operators_configure_via_settings), textAlign = TextAlign.Center)
|
||||||
}
|
}
|
||||||
Spacer(Modifier.weight(1f))
|
Spacer(Modifier.weight(1f))
|
||||||
|
|
|
@ -427,23 +427,27 @@ fun OperatorInfoView(serverOperator: ServerOperator) {
|
||||||
|
|
||||||
SectionDividerSpaced(maxBottomPadding = false)
|
SectionDividerSpaced(maxBottomPadding = false)
|
||||||
|
|
||||||
|
val uriHandler = LocalUriHandler.current
|
||||||
SectionView {
|
SectionView {
|
||||||
SectionItemView {
|
SectionItemView {
|
||||||
Column(verticalArrangement = Arrangement.spacedBy(10.dp)) {
|
Column(verticalArrangement = Arrangement.spacedBy(10.dp)) {
|
||||||
serverOperator.info.description.forEach { d ->
|
serverOperator.info.description.forEach { d ->
|
||||||
Text(d)
|
Text(d)
|
||||||
}
|
}
|
||||||
|
val website = serverOperator.info.website
|
||||||
|
Text(website, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(website) })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SectionDividerSpaced()
|
val selfhost = serverOperator.info.selfhost
|
||||||
|
if (selfhost != null) {
|
||||||
SectionView(generalGetString(MR.strings.operator_website).uppercase()) {
|
SectionDividerSpaced(maxBottomPadding = false)
|
||||||
SectionItemView {
|
SectionView {
|
||||||
val website = serverOperator.info.website
|
SectionItemView {
|
||||||
val uriHandler = LocalUriHandler.current
|
val (text, link) = selfhost
|
||||||
Text(website, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(website) })
|
Text(text, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(link) })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1077,6 +1077,7 @@
|
||||||
<!-- ChooseServerOperators.kt -->
|
<!-- ChooseServerOperators.kt -->
|
||||||
<string name="onboarding_choose_server_operators">Server operators</string>
|
<string name="onboarding_choose_server_operators">Server operators</string>
|
||||||
<string name="onboarding_network_operators">Network operators</string>
|
<string name="onboarding_network_operators">Network operators</string>
|
||||||
|
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</string>
|
||||||
<string name="onboarding_network_operators_app_will_use_different_operators">The app protects your privacy by using different operators in each conversation.</string>
|
<string name="onboarding_network_operators_app_will_use_different_operators">The app protects your privacy by using different operators in each conversation.</string>
|
||||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">When more than one operator is enabled, none of them has metadata to learn who communicates with whom.</string>
|
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">When more than one operator is enabled, none of them has metadata to learn who communicates with whom.</string>
|
||||||
<string name="onboarding_network_operators_app_will_use_for_routing">For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.</string>
|
<string name="onboarding_network_operators_app_will_use_for_routing">For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.</string>
|
||||||
|
|
|
@ -2320,6 +2320,7 @@
|
||||||
<string name="one_time_link_can_be_used_with_one_contact_only"><![CDATA[Одноразовая ссылка может быть использована <i>только с одним контактом</i> - поделитесь при встрече или через любой мессенджер.]]></string>
|
<string name="one_time_link_can_be_used_with_one_contact_only"><![CDATA[Одноразовая ссылка может быть использована <i>только с одним контактом</i> - поделитесь при встрече или через любой мессенджер.]]></string>
|
||||||
<string name="no_message_servers_configured_for_private_routing">Нет серверов для доставки сообщений.</string>
|
<string name="no_message_servers_configured_for_private_routing">Нет серверов для доставки сообщений.</string>
|
||||||
<string name="onboarding_network_operators_configure_via_settings">Вы можете настроить серверы позже.</string>
|
<string name="onboarding_network_operators_configure_via_settings">Вы можете настроить серверы позже.</string>
|
||||||
|
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat и Flux заключили соглашение добавить серверы под управлением Flux в приложение.</string>
|
||||||
<string name="onboarding_network_operators_app_will_use_different_operators">Приложение улучшает конфиденциальность используя разных операторов в каждом разговоре.</string>
|
<string name="onboarding_network_operators_app_will_use_different_operators">Приложение улучшает конфиденциальность используя разных операторов в каждом разговоре.</string>
|
||||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Когда больше чем один оператор включен, ни один из них не видит метаданные, чтобы определить, кто соединен с кем.</string>
|
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Когда больше чем один оператор включен, ни один из них не видит метаданные, чтобы определить, кто соединен с кем.</string>
|
||||||
<string name="failed_to_save_servers">Ошибка сохранения серверов</string>
|
<string name="failed_to_save_servers">Ошибка сохранения серверов</string>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue