mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2024-12-17 17:20:21 +01:00
Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84a0db706a | |||
| 9ec69e17a5 | |||
| 52272cd29a | |||
| 8517d91861 | |||
| 27eb11b6de | |||
| 2091346690 | |||
| 8098f1f81f | |||
| b979d04d1f | |||
| 3118e430f8 | |||
| 69f9bd5316 | |||
| 3b3e922da2 | |||
| d3cceba743 | |||
| 8d65fdc2ff | |||
| 305a091a09 | |||
| e1f3920ddc | |||
| 8e8c391703 | |||
| 20853b07df | |||
| 3455ced143 | |||
| 5387d991d0 | |||
| dac5d9e672 | |||
| ba37cf3cc7 | |||
| 6b0fd777a3 | |||
| 0d71e5c4e2 | |||
| b590950655 | |||
| 745136d6dd | |||
| a2757179ba | |||
| a70c785ac0 | |||
| ac98f4363e | |||
| 906800c3c6 | |||
| 81c53420be | |||
| 840099ad17 | |||
| 656ae93851 | |||
| 21d32a3273 | |||
| eaba362792 | |||
| 362691308d | |||
| 9abe91de61 | |||
| 1bd6ac2079 | |||
| e86eb5e3c5 | |||
| f8c111633b | |||
| d55f098b86 | |||
| db40aafabf | |||
| 0151aa2e8c | |||
| fa975fa76d | |||
| 03b6cd4627 | |||
| e358ffe403 | |||
| 2c4993b491 | |||
| e7c1391e03 | |||
| bd16b89bc8 | |||
| c80cd66701 | |||
| 5d8e11c3a2 | |||
| df8ce2b06d | |||
| 6ff5f31bee | |||
| 5e29cda27b | |||
| 2e573662d5 | |||
| 4075c26dd2 | |||
| d64351b760 | |||
| b06211bd4e | |||
| 33bc539e16 | |||
| febea096db | |||
| f0781adbd3 | |||
| df30bb99cb | |||
| 7c86484978 | |||
| 307211a47f | |||
| 7d6c7c58d7 | |||
| 93319d947d | |||
| ea4927c9b0 | |||
| fe0d811bf7 | |||
| cbb3da8f83 | |||
| 83f0bd9fd3 | |||
| 615c483912 | |||
| e0c2272fcb | |||
| 362581432c | |||
| df1a471c56 | |||
| 7d43a43e82 | |||
| ae8ad5c639 | |||
| 1408d75eb3 | |||
| f408988035 | |||
| 945c5015d8 | |||
| 2e431c5afa | |||
| 924273191e | |||
| 9b82cc3303 | |||
| 19e2cebd68 |
@@ -233,7 +233,7 @@ You can use SimpleX with your own servers and still communicate with people usin
|
||||
|
||||
Recent and important updates:
|
||||
|
||||
[Nov 25, 2025. Servers operated by Flux - true privacy and decentralization for all users](./20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.md)
|
||||
[Dec 10, 2024. SimpleX network: preset servers operated by Flux, business chats and more with v6.2 of the apps](./20241210-simplex-network-v6-2-servers-by-flux-business-chats.md)
|
||||
|
||||
[Oct 14, 2024. SimpleX network: security review of protocols design by Trail of Bits, v6.1 released with better calls and user experience.](./blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.md)
|
||||
|
||||
@@ -243,20 +243,14 @@ Recent and important updates:
|
||||
|
||||
[Mar 14, 2024. SimpleX Chat v5.6 beta: adding quantum resistance to Signal double ratchet algorithm.](./blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.md)
|
||||
|
||||
[Jan 24, 2024. SimpleX Chat: free infrastructure from Linode, v5.5 released with private notes, group history and a simpler UX to connect.](./blog/20240124-simplex-chat-infrastructure-costs-v5-5-simplex-ux-private-notes-group-history.md)
|
||||
|
||||
[Nov 25, 2023. SimpleX Chat v5.4 released: link mobile and desktop apps via quantum resistant protocol, and much better groups](./blog/20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.md).
|
||||
|
||||
[Sep 25, 2023. SimpleX Chat v5.3 released: desktop app, local file encryption, improved groups and directory service](./blog/20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.md).
|
||||
|
||||
[Apr 22, 2023. SimpleX Chat: vision and funding, v5.0 released with videos and files up to 1gb](./blog/20230422-simplex-chat-vision-funding-v5-videos-files-passcode.md).
|
||||
|
||||
[Mar 1, 2023. SimpleX File Transfer Protocol – send large files efficiently, privately and securely, soon to be integrated into SimpleX Chat apps.](./blog/20230301-simplex-file-transfer-protocol.md).
|
||||
|
||||
[Nov 8, 2022. Security audit by Trail of Bits, the new website and v4.2 released](./blog/20221108-simplex-chat-v4.2-security-audit-new-website.md).
|
||||
|
||||
[Sep 28, 2022. v4.0: encrypted local chat database and many other changes](./blog/20220928-simplex-chat-v4-encrypted-database.md).
|
||||
|
||||
[All updates](./blog)
|
||||
|
||||
## :zap: Quick installation of a terminal app
|
||||
@@ -384,9 +378,11 @@ Please also join [#simplex-devs](https://simplex.chat/contact#/?v=1-2&smp=smp%3A
|
||||
- ✅ Improve sending videos (including encryption of locally stored videos).
|
||||
- ✅ Post-quantum resistant key exchange in double ratchet protocol.
|
||||
- ✅ Message delivery relay for senders (to conceal IP address from the recipients' servers and to reduce the traffic).
|
||||
- ✅ Support multiple network operators in the app.
|
||||
- 🏗 Large groups, communities and public channels.
|
||||
- 🏗 Short links to connect and join groups.
|
||||
- 🏗 Improve stability and reduce battery usage.
|
||||
- 🏗 Improve experience for the new users.
|
||||
- 🏗 Large groups, communities and public channels.
|
||||
- Privacy & security slider - a simple way to set all settings at once.
|
||||
- SMP queue redundancy and rotation (manual is supported).
|
||||
- Include optional message into connection request sent via contact address.
|
||||
|
||||
@@ -519,7 +519,14 @@ func testProtoServer(server: String) async throws -> Result<(), ProtocolTestFail
|
||||
throw r
|
||||
}
|
||||
|
||||
func getServerOperators() throws -> ServerOperatorConditions {
|
||||
func getServerOperators() async throws -> ServerOperatorConditions {
|
||||
let r = await chatSendCmd(.apiGetServerOperators)
|
||||
if case let .serverOperatorConditions(conditions) = r { return conditions }
|
||||
logger.error("getServerOperators error: \(String(describing: r))")
|
||||
throw r
|
||||
}
|
||||
|
||||
func getServerOperatorsSync() throws -> ServerOperatorConditions {
|
||||
let r = chatSendCmdSync(.apiGetServerOperators)
|
||||
if case let .serverOperatorConditions(conditions) = r { return conditions }
|
||||
logger.error("getServerOperators error: \(String(describing: r))")
|
||||
@@ -1599,7 +1606,7 @@ func initializeChat(start: Bool, confirmStart: Bool = false, dbKey: String? = ni
|
||||
try apiSetEncryptLocalFiles(privacyEncryptLocalFilesGroupDefault.get())
|
||||
m.chatInitialized = true
|
||||
m.currentUser = try apiGetActiveUser()
|
||||
m.conditions = try getServerOperators()
|
||||
m.conditions = try getServerOperatorsSync()
|
||||
if shouldImportAppSettingsDefault.get() {
|
||||
do {
|
||||
let appSettings = try apiGetAppSettings(settings: AppSettings.current.prepareForExport())
|
||||
|
||||
@@ -96,6 +96,8 @@ struct ChatInfoView: View {
|
||||
@ObservedObject var chat: Chat
|
||||
@State var contact: Contact
|
||||
@State var localAlias: String
|
||||
@State var featuresAllowed: ContactFeaturesAllowed
|
||||
@State var currentFeaturesAllowed: ContactFeaturesAllowed
|
||||
var onSearch: () -> Void
|
||||
@State private var connectionStats: ConnectionStats? = nil
|
||||
@State private var customUserProfile: Profile? = nil
|
||||
@@ -154,8 +156,8 @@ struct ChatInfoView: View {
|
||||
HStack(alignment: .center, spacing: 8) {
|
||||
let buttonWidth = g.size.width / 4
|
||||
searchButton(width: buttonWidth)
|
||||
AudioCallButton(chat: chat, contact: contact, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
VideoButton(chat: chat, contact: contact, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
AudioCallButton(chat: chat, contact: contact, connectionStats: $connectionStats, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
VideoButton(chat: chat, contact: contact, connectionStats: $connectionStats, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
muteButton(width: buttonWidth)
|
||||
}
|
||||
}
|
||||
@@ -312,7 +314,15 @@ struct ChatInfoView: View {
|
||||
case .networkStatusAlert: return networkStatusAlert()
|
||||
case .switchAddressAlert: return switchAddressAlert(switchContactAddress)
|
||||
case .abortSwitchAddressAlert: return abortSwitchAddressAlert(abortSwitchContactAddress)
|
||||
case .syncConnectionForceAlert: return syncConnectionForceAlert({ syncContactConnection(force: true) })
|
||||
case .syncConnectionForceAlert:
|
||||
return syncConnectionForceAlert({
|
||||
Task {
|
||||
if let stats = await syncContactConnection(contact, force: true, showAlert: { alert = .someAlert(alert: $0) }) {
|
||||
connectionStats = stats
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
})
|
||||
case let .queueInfo(info): return queueInfoAlert(info)
|
||||
case let .someAlert(a): return a.alert
|
||||
case let .error(title, error): return mkAlert(title: title, message: error)
|
||||
@@ -327,6 +337,16 @@ struct ChatInfoView: View {
|
||||
$0.content
|
||||
}
|
||||
}
|
||||
.onDisappear {
|
||||
if currentFeaturesAllowed != featuresAllowed {
|
||||
showAlert(
|
||||
title: NSLocalizedString("Save preferences?", comment: "alert title"),
|
||||
buttonTitle: NSLocalizedString("Save and notify contact", comment: "alert button"),
|
||||
buttonAction: { savePreferences() },
|
||||
cancelButton: true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func contactInfoHeader() -> some View {
|
||||
@@ -447,8 +467,9 @@ struct ChatInfoView: View {
|
||||
NavigationLink {
|
||||
ContactPreferencesView(
|
||||
contact: $contact,
|
||||
featuresAllowed: contactUserPrefsToFeaturesAllowed(contact.mergedPreferences),
|
||||
currentFeaturesAllowed: contactUserPrefsToFeaturesAllowed(contact.mergedPreferences)
|
||||
featuresAllowed: $featuresAllowed,
|
||||
currentFeaturesAllowed: $currentFeaturesAllowed,
|
||||
savePreferences: savePreferences
|
||||
)
|
||||
.navigationBarTitle("Contact preferences")
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
@@ -480,7 +501,12 @@ struct ChatInfoView: View {
|
||||
|
||||
private func synchronizeConnectionButton() -> some View {
|
||||
Button {
|
||||
syncContactConnection(force: false)
|
||||
Task {
|
||||
if let stats = await syncContactConnection(contact, force: false, showAlert: { alert = .someAlert(alert: $0) }) {
|
||||
connectionStats = stats
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
} label: {
|
||||
Label("Fix connection", systemImage: "exclamationmark.arrow.triangle.2.circlepath")
|
||||
.foregroundColor(.orange)
|
||||
@@ -599,29 +625,50 @@ struct ChatInfoView: View {
|
||||
}
|
||||
}
|
||||
|
||||
private func syncContactConnection(force: Bool) {
|
||||
private func savePreferences() {
|
||||
Task {
|
||||
do {
|
||||
let stats = try apiSyncContactRatchet(contact.apiId, force)
|
||||
connectionStats = stats
|
||||
await MainActor.run {
|
||||
chatModel.updateContactConnectionStats(contact, stats)
|
||||
dismiss()
|
||||
}
|
||||
} catch let error {
|
||||
logger.error("syncContactConnection apiSyncContactRatchet error: \(responseError(error))")
|
||||
let a = getErrorAlert(error, "Error synchronizing connection")
|
||||
await MainActor.run {
|
||||
alert = .error(title: a.title, error: a.message)
|
||||
let prefs = contactFeaturesAllowedToPrefs(featuresAllowed)
|
||||
if let toContact = try await apiSetContactPrefs(contactId: contact.contactId, preferences: prefs) {
|
||||
await MainActor.run {
|
||||
contact = toContact
|
||||
chatModel.updateContact(toContact)
|
||||
currentFeaturesAllowed = featuresAllowed
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
logger.error("ContactPreferencesView apiSetContactPrefs error: \(responseError(error))")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func syncContactConnection(_ contact: Contact, force: Bool, showAlert: (SomeAlert) -> Void) async -> ConnectionStats? {
|
||||
do {
|
||||
let stats = try apiSyncContactRatchet(contact.apiId, force)
|
||||
await MainActor.run {
|
||||
ChatModel.shared.updateContactConnectionStats(contact, stats)
|
||||
}
|
||||
return stats
|
||||
} catch let error {
|
||||
logger.error("syncContactConnection apiSyncContactRatchet error: \(responseError(error))")
|
||||
let a = getErrorAlert(error, "Error synchronizing connection")
|
||||
await MainActor.run {
|
||||
showAlert(
|
||||
SomeAlert(
|
||||
alert: mkAlert(title: a.title, message: a.message),
|
||||
id: "syncContactConnection error"
|
||||
)
|
||||
)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
struct AudioCallButton: View {
|
||||
var chat: Chat
|
||||
var contact: Contact
|
||||
@Binding var connectionStats: ConnectionStats?
|
||||
var width: CGFloat
|
||||
var showAlert: (SomeAlert) -> Void
|
||||
|
||||
@@ -629,6 +676,7 @@ struct AudioCallButton: View {
|
||||
CallButton(
|
||||
chat: chat,
|
||||
contact: contact,
|
||||
connectionStats: $connectionStats,
|
||||
image: "phone.fill",
|
||||
title: "call",
|
||||
mediaType: .audio,
|
||||
@@ -641,6 +689,7 @@ struct AudioCallButton: View {
|
||||
struct VideoButton: View {
|
||||
var chat: Chat
|
||||
var contact: Contact
|
||||
@Binding var connectionStats: ConnectionStats?
|
||||
var width: CGFloat
|
||||
var showAlert: (SomeAlert) -> Void
|
||||
|
||||
@@ -648,6 +697,7 @@ struct VideoButton: View {
|
||||
CallButton(
|
||||
chat: chat,
|
||||
contact: contact,
|
||||
connectionStats: $connectionStats,
|
||||
image: "video.fill",
|
||||
title: "video",
|
||||
mediaType: .video,
|
||||
@@ -660,6 +710,7 @@ struct VideoButton: View {
|
||||
private struct CallButton: View {
|
||||
var chat: Chat
|
||||
var contact: Contact
|
||||
@Binding var connectionStats: ConnectionStats?
|
||||
var image: String
|
||||
var title: LocalizedStringKey
|
||||
var mediaType: CallMediaType
|
||||
@@ -671,12 +722,40 @@ private struct CallButton: View {
|
||||
|
||||
InfoViewButton(image: image, title: title, disabledLook: !canCall, width: width) {
|
||||
if canCall {
|
||||
if CallController.useCallKit() {
|
||||
CallController.shared.startCall(contact, mediaType)
|
||||
} else {
|
||||
// When CallKit is not used, colorscheme will be changed and it will be visible if not hiding sheets first
|
||||
dismissAllSheets(animated: true) {
|
||||
CallController.shared.startCall(contact, mediaType)
|
||||
if let connStats = connectionStats {
|
||||
if connStats.ratchetSyncState == .ok {
|
||||
if CallController.useCallKit() {
|
||||
CallController.shared.startCall(contact, mediaType)
|
||||
} else {
|
||||
// When CallKit is not used, colorscheme will be changed and it will be visible if not hiding sheets first
|
||||
dismissAllSheets(animated: true) {
|
||||
CallController.shared.startCall(contact, mediaType)
|
||||
}
|
||||
}
|
||||
} else if connStats.ratchetSyncAllowed {
|
||||
showAlert(SomeAlert(
|
||||
alert: Alert(
|
||||
title: Text("Fix connection?"),
|
||||
message: Text("Connection requires encryption renegotiation."),
|
||||
primaryButton: .default(Text("Fix")) {
|
||||
Task {
|
||||
if let stats = await syncContactConnection(contact, force: false, showAlert: showAlert) {
|
||||
connectionStats = stats
|
||||
}
|
||||
}
|
||||
},
|
||||
secondaryButton: .cancel()
|
||||
),
|
||||
id: "can't call contact, fix connection"
|
||||
))
|
||||
} else {
|
||||
showAlert(SomeAlert(
|
||||
alert: mkAlert(
|
||||
title: "Can't call contact",
|
||||
message: "Encryption renegotiation in progress."
|
||||
),
|
||||
id: "can't call contact, encryption renegotiation in progress"
|
||||
))
|
||||
}
|
||||
}
|
||||
} else if contact.nextSendGrpInv {
|
||||
@@ -1173,6 +1252,8 @@ struct ChatInfoView_Previews: PreviewProvider {
|
||||
chat: Chat(chatInfo: ChatInfo.sampleData.direct, chatItems: []),
|
||||
contact: Contact.sampleData,
|
||||
localAlias: "",
|
||||
featuresAllowed: contactUserPrefsToFeaturesAllowed(Contact.sampleData.mergedPreferences),
|
||||
currentFeaturesAllowed: contactUserPrefsToFeaturesAllowed(Contact.sampleData.mergedPreferences),
|
||||
onSearch: {}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -133,7 +133,12 @@ struct ChatView: View {
|
||||
.appSheet(item: $selectedMember) { member in
|
||||
Group {
|
||||
if case let .group(groupInfo) = chat.chatInfo {
|
||||
GroupMemberInfoView(groupInfo: groupInfo, groupMember: member, navigation: true)
|
||||
GroupMemberInfoView(
|
||||
groupInfo: groupInfo,
|
||||
chat: chat,
|
||||
groupMember: member,
|
||||
navigation: true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -226,6 +231,8 @@ struct ChatView: View {
|
||||
chat: chat,
|
||||
contact: contact,
|
||||
localAlias: chat.chatInfo.localAlias,
|
||||
featuresAllowed: contactUserPrefsToFeaturesAllowed(contact.mergedPreferences),
|
||||
currentFeaturesAllowed: contactUserPrefsToFeaturesAllowed(contact.mergedPreferences),
|
||||
onSearch: { focusSearch() }
|
||||
)
|
||||
}
|
||||
@@ -1122,6 +1129,7 @@ struct ChatView: View {
|
||||
} else {
|
||||
let mem = GMember.init(member)
|
||||
m.groupMembers.append(mem)
|
||||
m.groupMembersIndexes[member.groupMemberId] = m.groupMembers.count - 1
|
||||
selectedMember = mem
|
||||
}
|
||||
}
|
||||
@@ -1877,6 +1885,7 @@ struct ReactionContextMenu: View {
|
||||
} else {
|
||||
let member = GMember.init(mem)
|
||||
m.groupMembers.append(member)
|
||||
m.groupMembersIndexes[member.groupMemberId] = m.groupMembers.count - 1
|
||||
selectedMember = member
|
||||
}
|
||||
} label: {
|
||||
|
||||
@@ -14,9 +14,10 @@ struct ContactPreferencesView: View {
|
||||
@EnvironmentObject var chatModel: ChatModel
|
||||
@EnvironmentObject var theme: AppTheme
|
||||
@Binding var contact: Contact
|
||||
@State var featuresAllowed: ContactFeaturesAllowed
|
||||
@State var currentFeaturesAllowed: ContactFeaturesAllowed
|
||||
@Binding var featuresAllowed: ContactFeaturesAllowed
|
||||
@Binding var currentFeaturesAllowed: ContactFeaturesAllowed
|
||||
@State private var showSaveDialogue = false
|
||||
let savePreferences: () -> Void
|
||||
|
||||
var body: some View {
|
||||
let user: User = chatModel.currentUser!
|
||||
@@ -48,7 +49,10 @@ struct ContactPreferencesView: View {
|
||||
savePreferences()
|
||||
dismiss()
|
||||
}
|
||||
Button("Exit without saving") { dismiss() }
|
||||
Button("Exit without saving") {
|
||||
featuresAllowed = currentFeaturesAllowed
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,31 +122,15 @@ struct ContactPreferencesView: View {
|
||||
private func featureFooter(_ feature: ChatFeature, _ enabled: FeatureEnabled) -> some View {
|
||||
Text(feature.enabledDescription(enabled))
|
||||
}
|
||||
|
||||
private func savePreferences() {
|
||||
Task {
|
||||
do {
|
||||
let prefs = contactFeaturesAllowedToPrefs(featuresAllowed)
|
||||
if let toContact = try await apiSetContactPrefs(contactId: contact.contactId, preferences: prefs) {
|
||||
await MainActor.run {
|
||||
contact = toContact
|
||||
chatModel.updateContact(toContact)
|
||||
currentFeaturesAllowed = featuresAllowed
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
logger.error("ContactPreferencesView apiSetContactPrefs error: \(responseError(error))")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ContactPreferencesView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ContactPreferencesView(
|
||||
contact: Binding.constant(Contact.sampleData),
|
||||
featuresAllowed: ContactFeaturesAllowed.sampleData,
|
||||
currentFeaturesAllowed: ContactFeaturesAllowed.sampleData
|
||||
featuresAllowed: Binding.constant(ContactFeaturesAllowed.sampleData),
|
||||
currentFeaturesAllowed: Binding.constant(ContactFeaturesAllowed.sampleData),
|
||||
savePreferences: {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,12 @@ struct AddGroupMembersViewCommon: View {
|
||||
let count = selectedContacts.count
|
||||
Section {
|
||||
if creatingGroup {
|
||||
groupPreferencesButton($groupInfo, true)
|
||||
GroupPreferencesButton(
|
||||
groupInfo: $groupInfo,
|
||||
preferences: groupInfo.fullGroupPreferences,
|
||||
currentPreferences: groupInfo.fullGroupPreferences,
|
||||
creatingGroup: true
|
||||
)
|
||||
}
|
||||
rolePicker()
|
||||
inviteMembersButton()
|
||||
|
||||
@@ -87,7 +87,7 @@ struct GroupChatInfoView: View {
|
||||
if groupInfo.groupProfile.description != nil || (groupInfo.isOwner && groupInfo.businessChat == nil) {
|
||||
addOrEditWelcomeMessage()
|
||||
}
|
||||
groupPreferencesButton($groupInfo)
|
||||
GroupPreferencesButton(groupInfo: $groupInfo, preferences: groupInfo.fullGroupPreferences, currentPreferences: groupInfo.fullGroupPreferences)
|
||||
if members.filter({ $0.wrapped.memberCurrent }).count <= SMALL_GROUPS_RCPS_MEM_LIMIT {
|
||||
sendReceiptsOption()
|
||||
} else {
|
||||
@@ -439,7 +439,7 @@ struct GroupChatInfoView: View {
|
||||
}
|
||||
|
||||
private func memberInfoView(_ groupMember: GMember) -> some View {
|
||||
GroupMemberInfoView(groupInfo: groupInfo, groupMember: groupMember)
|
||||
GroupMemberInfoView(groupInfo: groupInfo, chat: chat, groupMember: groupMember)
|
||||
.navigationBarHidden(false)
|
||||
}
|
||||
|
||||
@@ -654,27 +654,72 @@ func deleteGroupAlertMessage(_ groupInfo: GroupInfo) -> Text {
|
||||
)
|
||||
}
|
||||
|
||||
func groupPreferencesButton(_ groupInfo: Binding<GroupInfo>, _ creatingGroup: Bool = false) -> some View {
|
||||
let label: LocalizedStringKey = groupInfo.wrappedValue.businessChat == nil ? "Group preferences" : "Chat preferences"
|
||||
return NavigationLink {
|
||||
GroupPreferencesView(
|
||||
groupInfo: groupInfo,
|
||||
preferences: groupInfo.wrappedValue.fullGroupPreferences,
|
||||
currentPreferences: groupInfo.wrappedValue.fullGroupPreferences,
|
||||
creatingGroup: creatingGroup
|
||||
)
|
||||
.navigationBarTitle(label)
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
} label: {
|
||||
if creatingGroup {
|
||||
Text("Set group preferences")
|
||||
} else {
|
||||
Label(label, systemImage: "switch.2")
|
||||
struct GroupPreferencesButton: View {
|
||||
@Binding var groupInfo: GroupInfo
|
||||
@State var preferences: FullGroupPreferences
|
||||
@State var currentPreferences: FullGroupPreferences
|
||||
var creatingGroup: Bool = false
|
||||
|
||||
private var label: LocalizedStringKey {
|
||||
groupInfo.businessChat == nil ? "Group preferences" : "Chat preferences"
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
NavigationLink {
|
||||
GroupPreferencesView(
|
||||
groupInfo: $groupInfo,
|
||||
preferences: $preferences,
|
||||
currentPreferences: currentPreferences,
|
||||
creatingGroup: creatingGroup,
|
||||
savePreferences: savePreferences
|
||||
)
|
||||
.navigationBarTitle(label)
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
.onDisappear {
|
||||
let saveText = NSLocalizedString(
|
||||
creatingGroup ? "Save" : "Save and notify group members",
|
||||
comment: "alert button"
|
||||
)
|
||||
|
||||
if groupInfo.fullGroupPreferences != preferences {
|
||||
showAlert(
|
||||
title: NSLocalizedString("Save preferences?", comment: "alert title"),
|
||||
buttonTitle: saveText,
|
||||
buttonAction: { savePreferences() },
|
||||
cancelButton: true
|
||||
)
|
||||
}
|
||||
}
|
||||
} label: {
|
||||
if creatingGroup {
|
||||
Text("Set group preferences")
|
||||
} else {
|
||||
Label(label, systemImage: "switch.2")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func savePreferences() {
|
||||
Task {
|
||||
do {
|
||||
var gp = groupInfo.groupProfile
|
||||
gp.groupPreferences = toGroupPreferences(preferences)
|
||||
let gInfo = try await apiUpdateGroup(groupInfo.groupId, gp)
|
||||
await MainActor.run {
|
||||
groupInfo = gInfo
|
||||
ChatModel.shared.updateGroup(gInfo)
|
||||
currentPreferences = preferences
|
||||
}
|
||||
} catch {
|
||||
logger.error("GroupPreferencesView apiUpdateGroup error: \(responseError(error))")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
func cantInviteIncognitoAlert() -> Alert {
|
||||
Alert(
|
||||
title: Text("Can't invite contacts!"),
|
||||
|
||||
@@ -14,11 +14,15 @@ struct GroupMemberInfoView: View {
|
||||
@EnvironmentObject var theme: AppTheme
|
||||
@Environment(\.dismiss) var dismiss: DismissAction
|
||||
@State var groupInfo: GroupInfo
|
||||
@ObservedObject var chat: Chat
|
||||
@ObservedObject var groupMember: GMember
|
||||
var navigation: Bool = false
|
||||
@State private var connectionStats: ConnectionStats? = nil
|
||||
@State private var connectionCode: String? = nil
|
||||
@State private var connectionLoaded: Bool = false
|
||||
@State private var knownContactChat: Chat? = nil
|
||||
@State private var knownContact: Contact? = nil
|
||||
@State private var knownContactConnectionStats: ConnectionStats? = nil
|
||||
@State private var newRole: GroupMemberRole = .member
|
||||
@State private var alert: GroupMemberInfoViewAlert?
|
||||
@State private var sheet: PlanAndConnectActionSheet?
|
||||
@@ -118,8 +122,8 @@ struct GroupMemberInfoView: View {
|
||||
} label: {
|
||||
Label("Share address", systemImage: "square.and.arrow.up")
|
||||
}
|
||||
if let contactId = member.memberContactId {
|
||||
if knownDirectChat(contactId) == nil && !groupInfo.fullGroupPreferences.directMessages.on(for: groupInfo.membership) {
|
||||
if member.memberContactId != nil {
|
||||
if knownContactChat == nil && !groupInfo.fullGroupPreferences.directMessages.on(for: groupInfo.membership) {
|
||||
connectViaAddressButton(contactLink)
|
||||
}
|
||||
} else {
|
||||
@@ -228,6 +232,18 @@ struct GroupMemberInfoView: View {
|
||||
}
|
||||
logger.error("apiGroupMemberInfo or apiGetGroupMemberCode error: \(responseError(error))")
|
||||
}
|
||||
if let contactId = member.memberContactId, let (contactChat, contact) = knownDirectChat(contactId) {
|
||||
knownContactChat = contactChat
|
||||
knownContact = contact
|
||||
do {
|
||||
let (stats, _) = try await apiContactInfo(contactChat.chatInfo.apiId)
|
||||
await MainActor.run {
|
||||
knownContactConnectionStats = stats
|
||||
}
|
||||
} catch let error {
|
||||
logger.error("apiContactInfo error: \(responseError(error))")
|
||||
}
|
||||
}
|
||||
}
|
||||
.onChange(of: newRole) { newRole in
|
||||
if newRole != member.memberRole {
|
||||
@@ -261,6 +277,11 @@ struct GroupMemberInfoView: View {
|
||||
ProgressView().scaleEffect(2)
|
||||
}
|
||||
}
|
||||
.onChange(of: chat.chatInfo) { c in
|
||||
if case let .group(gI) = chat.chatInfo {
|
||||
groupInfo = gI
|
||||
}
|
||||
}
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
}
|
||||
|
||||
@@ -268,10 +289,10 @@ struct GroupMemberInfoView: View {
|
||||
GeometryReader { g in
|
||||
let buttonWidth = g.size.width / 4
|
||||
HStack(alignment: .center, spacing: 8) {
|
||||
if let contactId = member.memberContactId, let (chat, contact) = knownDirectChat(contactId) {
|
||||
if let chat = knownContactChat, let contact = knownContact {
|
||||
knownDirectChatButton(chat, width: buttonWidth)
|
||||
AudioCallButton(chat: chat, contact: contact, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
VideoButton(chat: chat, contact: contact, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
AudioCallButton(chat: chat, contact: contact, connectionStats: $knownContactConnectionStats, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
VideoButton(chat: chat, contact: contact, connectionStats: $knownContactConnectionStats, width: buttonWidth) { alert = .someAlert(alert: $0) }
|
||||
} else if groupInfo.fullGroupPreferences.directMessages.on(for: groupInfo.membership) {
|
||||
if let contactId = member.memberContactId {
|
||||
newDirectChatButton(contactId, width: buttonWidth)
|
||||
@@ -360,25 +381,49 @@ struct GroupMemberInfoView: View {
|
||||
|
||||
func createMemberContactButton(width: CGFloat) -> some View {
|
||||
InfoViewButton(image: "message.fill", title: "message", width: width) {
|
||||
progressIndicator = true
|
||||
Task {
|
||||
do {
|
||||
let memberContact = try await apiCreateMemberContact(groupInfo.apiId, groupMember.groupMemberId)
|
||||
await MainActor.run {
|
||||
progressIndicator = false
|
||||
chatModel.addChat(Chat(chatInfo: .direct(contact: memberContact)))
|
||||
ItemsModel.shared.loadOpenChat(memberContact.id) {
|
||||
dismissAllSheets(animated: true)
|
||||
if let connStats = connectionStats {
|
||||
if connStats.ratchetSyncState == .ok {
|
||||
progressIndicator = true
|
||||
Task {
|
||||
do {
|
||||
let memberContact = try await apiCreateMemberContact(groupInfo.apiId, groupMember.groupMemberId)
|
||||
await MainActor.run {
|
||||
progressIndicator = false
|
||||
chatModel.addChat(Chat(chatInfo: .direct(contact: memberContact)))
|
||||
ItemsModel.shared.loadOpenChat(memberContact.id) {
|
||||
dismissAllSheets(animated: true)
|
||||
}
|
||||
NetworkModel.shared.setContactNetworkStatus(memberContact, .connected)
|
||||
}
|
||||
} catch let error {
|
||||
logger.error("createMemberContactButton apiCreateMemberContact error: \(responseError(error))")
|
||||
let a = getErrorAlert(error, "Error creating member contact")
|
||||
await MainActor.run {
|
||||
progressIndicator = false
|
||||
alert = .error(title: a.title, error: a.message)
|
||||
}
|
||||
}
|
||||
NetworkModel.shared.setContactNetworkStatus(memberContact, .connected)
|
||||
}
|
||||
} catch let error {
|
||||
logger.error("createMemberContactButton apiCreateMemberContact error: \(responseError(error))")
|
||||
let a = getErrorAlert(error, "Error creating member contact")
|
||||
await MainActor.run {
|
||||
progressIndicator = false
|
||||
alert = .error(title: a.title, error: a.message)
|
||||
}
|
||||
} else if connStats.ratchetSyncAllowed {
|
||||
alert = .someAlert(alert: SomeAlert(
|
||||
alert: Alert(
|
||||
title: Text("Fix connection?"),
|
||||
message: Text("Connection requires encryption renegotiation."),
|
||||
primaryButton: .default(Text("Fix")) {
|
||||
syncMemberConnection(force: false)
|
||||
},
|
||||
secondaryButton: .cancel()
|
||||
),
|
||||
id: "can't message member, fix connection"
|
||||
))
|
||||
} else {
|
||||
alert = .someAlert(alert: SomeAlert(
|
||||
alert: mkAlert(
|
||||
title: "Can't message member",
|
||||
message: "Encryption renegotiation in progress."
|
||||
),
|
||||
id: "can't message contact, encryption renegotiation in progress"
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -758,6 +803,7 @@ struct GroupMemberInfoView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
GroupMemberInfoView(
|
||||
groupInfo: GroupInfo.sampleData,
|
||||
chat: Chat.sampleData,
|
||||
groupMember: GMember.sampleData
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,9 +20,10 @@ struct GroupPreferencesView: View {
|
||||
@EnvironmentObject var chatModel: ChatModel
|
||||
@EnvironmentObject var theme: AppTheme
|
||||
@Binding var groupInfo: GroupInfo
|
||||
@State var preferences: FullGroupPreferences
|
||||
@State var currentPreferences: FullGroupPreferences
|
||||
@Binding var preferences: FullGroupPreferences
|
||||
var currentPreferences: FullGroupPreferences
|
||||
let creatingGroup: Bool
|
||||
let savePreferences: () -> Void
|
||||
@State private var showSaveDialogue = false
|
||||
|
||||
var body: some View {
|
||||
@@ -68,7 +69,10 @@ struct GroupPreferencesView: View {
|
||||
savePreferences()
|
||||
dismiss()
|
||||
}
|
||||
Button("Exit without saving") { dismiss() }
|
||||
Button("Exit without saving") {
|
||||
preferences = currentPreferences
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,32 +136,16 @@ struct GroupPreferencesView: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func savePreferences() {
|
||||
Task {
|
||||
do {
|
||||
var gp = groupInfo.groupProfile
|
||||
gp.groupPreferences = toGroupPreferences(preferences)
|
||||
let gInfo = try await apiUpdateGroup(groupInfo.groupId, gp)
|
||||
await MainActor.run {
|
||||
groupInfo = gInfo
|
||||
chatModel.updateGroup(gInfo)
|
||||
currentPreferences = preferences
|
||||
}
|
||||
} catch {
|
||||
logger.error("GroupPreferencesView apiUpdateGroup error: \(responseError(error))")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct GroupPreferencesView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
GroupPreferencesView(
|
||||
groupInfo: Binding.constant(GroupInfo.sampleData),
|
||||
preferences: FullGroupPreferences.sampleData,
|
||||
preferences: Binding.constant(FullGroupPreferences.sampleData),
|
||||
currentPreferences: FullGroupPreferences.sampleData,
|
||||
creatingGroup: false
|
||||
creatingGroup: false,
|
||||
savePreferences: {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -587,7 +587,7 @@ struct SMPStatsView: View {
|
||||
} header: {
|
||||
Text("Statistics")
|
||||
} footer: {
|
||||
Text("Starting from \(localTimestamp(statsStartedAt)).") + Text("\n") + Text("All data is private to your device.")
|
||||
Text("Starting from \(localTimestamp(statsStartedAt)).") + Text("\n") + Text("All data is kept private on your device.")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -703,7 +703,7 @@ struct XFTPStatsView: View {
|
||||
} header: {
|
||||
Text("Statistics")
|
||||
} footer: {
|
||||
Text("Starting from \(localTimestamp(statsStartedAt)).") + Text("\n") + Text("All data is private to your device.")
|
||||
Text("Starting from \(localTimestamp(statsStartedAt)).") + Text("\n") + Text("All data is kept private on your device.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,6 @@ struct ChooseServerOperators: View {
|
||||
var onboarding: Bool
|
||||
@State private var serverOperators: [ServerOperator] = []
|
||||
@State private var selectedOperatorIds = Set<Int64>()
|
||||
@State private var reviewConditionsNavLinkActive = false
|
||||
@State private var sheetItem: ChooseServerOperatorsSheet? = nil
|
||||
@State private var notificationsModeNavLinkActive = false
|
||||
@State private var justOpened = true
|
||||
@@ -79,7 +78,7 @@ struct ChooseServerOperators: View {
|
||||
.frame(maxWidth: .infinity, alignment: .center)
|
||||
|
||||
if onboarding {
|
||||
title.padding(.top, 50)
|
||||
title.padding(.top, 25)
|
||||
} else {
|
||||
title
|
||||
}
|
||||
@@ -92,11 +91,14 @@ struct ChooseServerOperators: View {
|
||||
ForEach(serverOperators) { srvOperator in
|
||||
operatorCheckView(srvOperator)
|
||||
}
|
||||
Text("You can configure servers via settings.")
|
||||
.font(.footnote)
|
||||
.multilineTextAlignment(.center)
|
||||
.frame(maxWidth: .infinity, alignment: .center)
|
||||
.padding(.horizontal, 32)
|
||||
VStack {
|
||||
Text("SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.").padding(.bottom, 8)
|
||||
Text("You can configure servers via settings.")
|
||||
}
|
||||
.font(.footnote)
|
||||
.multilineTextAlignment(.center)
|
||||
.frame(maxWidth: .infinity, alignment: .center)
|
||||
.padding(.horizontal, 16)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -166,8 +168,9 @@ struct ChooseServerOperators: View {
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
}
|
||||
}
|
||||
.frame(maxHeight: .infinity, alignment: .top)
|
||||
}
|
||||
.frame(maxHeight: .infinity)
|
||||
.frame(maxHeight: .infinity, alignment: .top)
|
||||
.padding(onboarding ? 25 : 16)
|
||||
}
|
||||
|
||||
@@ -214,23 +217,15 @@ struct ChooseServerOperators: View {
|
||||
}
|
||||
|
||||
private func reviewConditionsButton() -> some View {
|
||||
ZStack {
|
||||
Button {
|
||||
reviewConditionsNavLinkActive = true
|
||||
} label: {
|
||||
Text("Review conditions")
|
||||
}
|
||||
.buttonStyle(OnboardingButtonStyle(isDisabled: selectedOperatorIds.isEmpty))
|
||||
.disabled(selectedOperatorIds.isEmpty)
|
||||
|
||||
NavigationLink(isActive: $reviewConditionsNavLinkActive) {
|
||||
reviewConditionsDestinationView()
|
||||
} label: {
|
||||
EmptyView()
|
||||
}
|
||||
.frame(width: 1, height: 1)
|
||||
.hidden()
|
||||
NavigationLink("Review conditions") {
|
||||
reviewConditionsView()
|
||||
.navigationTitle("Conditions of use")
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
}
|
||||
.buttonStyle(OnboardingButtonStyle(isDisabled: selectedOperatorIds.isEmpty))
|
||||
.disabled(selectedOperatorIds.isEmpty)
|
||||
}
|
||||
|
||||
private func setOperatorsButton() -> some View {
|
||||
@@ -309,20 +304,12 @@ struct ChooseServerOperators: View {
|
||||
.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 {
|
||||
let operatorsWithConditionsAccepted = ChatModel.shared.conditions.serverOperators.filter { $0.conditionsAcceptance.conditionsAccepted }
|
||||
let acceptForOperators = selectedOperators.filter { !$0.conditionsAcceptance.conditionsAccepted }
|
||||
VStack(alignment: .leading, spacing: 20) {
|
||||
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: ", "))**.")
|
||||
} else {
|
||||
Text("Conditions will be accepted for operator(s): **\(acceptForOperators.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||
@@ -409,26 +396,53 @@ struct ChooseServerOperators: View {
|
||||
let operatorsPostLink = URL(string: "https://simplex.chat/blog/20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.html")!
|
||||
|
||||
struct ChooseServerOperatorsInfoView: View {
|
||||
@Environment(\.colorScheme) var colorScheme: ColorScheme
|
||||
@EnvironmentObject var theme: AppTheme
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading) {
|
||||
Text("Server operators")
|
||||
.font(.largeTitle)
|
||||
.bold()
|
||||
.padding(.vertical)
|
||||
ScrollView {
|
||||
VStack(alignment: .leading) {
|
||||
Group {
|
||||
Text("The app protects your privacy by using different operators in each conversation.")
|
||||
Text("When more than one operator is enabled, none of them has metadata to learn who communicates with whom.")
|
||||
Text("For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.")
|
||||
NavigationView {
|
||||
List {
|
||||
VStack(alignment: .leading, spacing: 12) {
|
||||
Text("The app protects your privacy by using different operators in each conversation.")
|
||||
Text("When more than one operator is enabled, none of them has metadata to learn who communicates with whom.")
|
||||
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)
|
||||
.listRowSeparator(.hidden)
|
||||
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
|
||||
.padding(.top)
|
||||
|
||||
Section {
|
||||
ForEach(ChatModel.shared.conditions.serverOperators) { op in
|
||||
operatorInfoNavLinkView(op)
|
||||
}
|
||||
.padding(.bottom)
|
||||
} header: {
|
||||
Text("About operators")
|
||||
.foregroundColor(theme.colors.secondary)
|
||||
}
|
||||
}
|
||||
.navigationTitle("Server operators")
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
}
|
||||
}
|
||||
|
||||
private func operatorInfoNavLinkView(_ op: ServerOperator) -> some View {
|
||||
NavigationLink() {
|
||||
OperatorInfoView(serverOperator: op)
|
||||
.navigationBarTitle("Network operator")
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
} label: {
|
||||
HStack {
|
||||
Image(op.logo(colorScheme))
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 24, height: 24)
|
||||
Text(op.tradeName)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top)
|
||||
.modifier(ThemedBackground())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -136,7 +136,6 @@ struct CreateFirstProfile: View {
|
||||
.multilineTextAlignment(.center)
|
||||
}
|
||||
.frame(maxWidth: .infinity) // Ensures it takes up the full width
|
||||
.padding(.top, 25)
|
||||
.padding(.horizontal, 10)
|
||||
|
||||
HStack {
|
||||
|
||||
@@ -22,7 +22,7 @@ struct SetNotificationsMode: View {
|
||||
Text("Push notifications")
|
||||
.font(.largeTitle)
|
||||
.bold()
|
||||
.padding(.top, 50)
|
||||
.padding(.top, 25)
|
||||
|
||||
infoText()
|
||||
|
||||
|
||||
@@ -331,9 +331,12 @@ struct OperatorInfoView: View {
|
||||
Text(d)
|
||||
}
|
||||
}
|
||||
Link(serverOperator.info.website.absoluteString, destination: serverOperator.info.website)
|
||||
}
|
||||
Section {
|
||||
Link("\(serverOperator.info.website)", destination: URL(string: serverOperator.info.website)!)
|
||||
if let selfhost = serverOperator.info.selfhost {
|
||||
Section {
|
||||
Link(selfhost.text, destination: selfhost.link)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -421,7 +424,6 @@ struct SingleOperatorUsageConditionsView: View {
|
||||
@Binding var userServers: [UserOperatorServers]
|
||||
@Binding var serverErrors: [UserServersError]
|
||||
var operatorIndex: Int
|
||||
@State private var usageConditionsNavLinkActive: Bool = false
|
||||
|
||||
var body: some View {
|
||||
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
|
||||
VStack(alignment: .leading, spacing: 20) {
|
||||
Group {
|
||||
viewHeader()
|
||||
ConditionsTextView()
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
}
|
||||
.padding(.horizontal)
|
||||
viewHeader()
|
||||
ConditionsTextView()
|
||||
}
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
.padding(.horizontal)
|
||||
.frame(maxHeight: .infinity)
|
||||
|
||||
} else if !operatorsWithConditionsAccepted.isEmpty {
|
||||
|
||||
NavigationView {
|
||||
VStack(alignment: .leading, spacing: 20) {
|
||||
Group {
|
||||
viewHeader()
|
||||
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_)**.")
|
||||
conditionsAppliedToOtherOperatorsText()
|
||||
usageConditionsNavLinkButton()
|
||||
viewHeader()
|
||||
Text("Conditions are already accepted for these operator(s): **\(operatorsWithConditionsAccepted.map { $0.legalName_ }.joined(separator: ", "))**.")
|
||||
Text("The same conditions will apply to operator **\(userServers[operatorIndex].operator_.legalName_)**.")
|
||||
conditionsAppliedToOtherOperatorsText()
|
||||
Spacer()
|
||||
|
||||
Spacer()
|
||||
|
||||
acceptConditionsButton()
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
}
|
||||
.padding(.horizontal)
|
||||
acceptConditionsButton()
|
||||
usageConditionsNavLinkButton()
|
||||
}
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
.padding(.horizontal)
|
||||
.frame(maxHeight: .infinity)
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
VStack(alignment: .leading, spacing: 20) {
|
||||
Group {
|
||||
viewHeader()
|
||||
Text("To use the servers of **\(userServers[operatorIndex].operator_.legalName_)**, accept conditions of use.")
|
||||
conditionsAppliedToOtherOperatorsText()
|
||||
ConditionsTextView()
|
||||
acceptConditionsButton()
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
}
|
||||
.padding(.horizontal)
|
||||
viewHeader()
|
||||
Text("To use the servers of **\(userServers[operatorIndex].operator_.legalName_)**, accept conditions of use.")
|
||||
conditionsAppliedToOtherOperatorsText()
|
||||
ConditionsTextView()
|
||||
acceptConditionsButton()
|
||||
.padding(.bottom)
|
||||
.padding(.bottom)
|
||||
}
|
||||
.padding(.horizontal)
|
||||
.frame(maxHeight: .infinity)
|
||||
|
||||
}
|
||||
@@ -545,31 +540,16 @@ struct SingleOperatorUsageConditionsView: View {
|
||||
}
|
||||
|
||||
private func usageConditionsNavLinkButton() -> some View {
|
||||
ZStack {
|
||||
Button {
|
||||
usageConditionsNavLinkActive = true
|
||||
} label: {
|
||||
Text("View conditions")
|
||||
}
|
||||
|
||||
NavigationLink(isActive: $usageConditionsNavLinkActive) {
|
||||
usageConditionsDestinationView()
|
||||
} label: {
|
||||
EmptyView()
|
||||
}
|
||||
.frame(width: 1, height: 1)
|
||||
.hidden()
|
||||
NavigationLink("View conditions") {
|
||||
ConditionsTextView()
|
||||
.padding()
|
||||
.navigationTitle("Conditions of use")
|
||||
.navigationBarTitleDisplayMode(.large)
|
||||
.toolbar { ToolbarItem(placement: .navigationBarTrailing, content: conditionsLinkButton) }
|
||||
.modifier(ThemedBackground(grouped: true))
|
||||
}
|
||||
}
|
||||
|
||||
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))
|
||||
.font(.callout)
|
||||
.frame(maxWidth: .infinity, alignment: .center)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -566,6 +566,10 @@
|
||||
<target>За SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
@@ -727,8 +731,8 @@
|
||||
<target>Всички данни се изтриват при въвеждане.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1533,8 +1537,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5762,7 +5766,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Запази и уведоми контакта</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5796,7 +5800,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Запази настройките?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6376,6 +6380,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleX Адрес</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>Сигурността на SimpleX Chat беше одитирана от Trail of Bits.</target>
|
||||
@@ -8118,6 +8126,10 @@ Repeat connection request?</source>
|
||||
<target>обаждането прието</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>админ</target>
|
||||
@@ -8304,7 +8316,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>свързване…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8788,6 +8800,10 @@ Repeat connection request?</source>
|
||||
<target>ви острани</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>запазено</target>
|
||||
|
||||
@@ -548,6 +548,10 @@
|
||||
<target>O SimpleX chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
@@ -708,8 +712,8 @@
|
||||
<target>Všechna data se při zadání vymažou.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1488,8 +1492,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5572,7 +5576,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Uložit a upozornit kontakt</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5606,7 +5610,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Uložit předvolby?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6174,6 +6178,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleX Adresa</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<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>
|
||||
@@ -7849,6 +7857,10 @@ Repeat connection request?</source>
|
||||
<target>přijatý hovor</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>správce</target>
|
||||
@@ -8028,7 +8040,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>připojení…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8503,6 +8515,10 @@ Repeat connection request?</source>
|
||||
<target>odstranil vás</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>Über SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>Über Betreiber</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Akzent</target>
|
||||
@@ -637,6 +642,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add friends" xml:space="preserve">
|
||||
<source>Add friends</source>
|
||||
<target>Freunde aufnehmen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add profile" xml:space="preserve">
|
||||
@@ -656,6 +662,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add team members" xml:space="preserve">
|
||||
<source>Add team members</source>
|
||||
<target>Team-Mitglieder aufnehmen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add to another device" xml:space="preserve">
|
||||
@@ -670,6 +677,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add your team members to the conversations." xml:space="preserve">
|
||||
<source>Add your team members to the conversations.</source>
|
||||
<target>Nehmen Sie Team-Mitglieder in Ihre Unterhaltungen auf.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Added media & file servers" xml:space="preserve">
|
||||
@@ -752,8 +760,8 @@
|
||||
<target>Alle Daten werden gelöscht, sobald dieser eingegeben wird.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Alle Daten werden nur auf Ihrem Gerät gespeichert.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1244,10 +1252,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Business address" xml:space="preserve">
|
||||
<source>Business address</source>
|
||||
<target>Geschäftliche Adresse</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Business chats" xml:space="preserve">
|
||||
<source>Business chats</source>
|
||||
<target>Geschäftliche Chats</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="By chat profile (default) or [by connection](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA)." xml:space="preserve">
|
||||
@@ -1394,14 +1404,17 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat" xml:space="preserve">
|
||||
<source>Chat</source>
|
||||
<target>Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat already exists" xml:space="preserve">
|
||||
<source>Chat already exists</source>
|
||||
<target>Chat besteht bereits</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat already exists!" xml:space="preserve">
|
||||
<source>Chat already exists!</source>
|
||||
<target>Chat besteht bereits!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat colors" xml:space="preserve">
|
||||
@@ -1481,10 +1494,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat will be deleted for all members - this cannot be undone!" xml:space="preserve">
|
||||
<source>Chat will be deleted for all members - this cannot be undone!</source>
|
||||
<target>Der Chat wird für alle Mitglieder gelöscht. Dies kann nicht rückgängig gemacht werden!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat will be deleted for you - this cannot be undone!" xml:space="preserve">
|
||||
<source>Chat will be deleted for you - this cannot be undone!</source>
|
||||
<target>Der Chat wird für Sie gelöscht. Dies kann nicht rückgängig gemacht werden!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chats" xml:space="preserve">
|
||||
@@ -1602,8 +1617,8 @@
|
||||
<target>Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -2243,6 +2258,7 @@ Das ist Ihr eigener Einmal-Link!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat" xml:space="preserve">
|
||||
<source>Delete chat</source>
|
||||
<target>Chat löschen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat profile" xml:space="preserve">
|
||||
@@ -2257,6 +2273,7 @@ Das ist Ihr eigener Einmal-Link!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat?" xml:space="preserve">
|
||||
<source>Delete chat?</source>
|
||||
<target>Chat löschen?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete connection" xml:space="preserve">
|
||||
@@ -2526,6 +2543,7 @@ Das ist Ihr eigener Einmal-Link!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Direct messages between members are prohibited in this chat." xml:space="preserve">
|
||||
<source>Direct messages between members are prohibited in this chat.</source>
|
||||
<target>In diesem Chat sind Direktnachrichten zwischen Mitgliedern nicht erlaubt.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Direct messages between members are prohibited." xml:space="preserve">
|
||||
@@ -4101,6 +4119,7 @@ Weitere Verbesserungen sind bald verfügbar!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Invite to chat" xml:space="preserve">
|
||||
<source>Invite to chat</source>
|
||||
<target>Zum Chat einladen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Invite to group" xml:space="preserve">
|
||||
@@ -4263,10 +4282,12 @@ Das ist Ihr Link für die Gruppe %@!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave chat" xml:space="preserve">
|
||||
<source>Leave chat</source>
|
||||
<target>Chat verlassen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave chat?" xml:space="preserve">
|
||||
<source>Leave chat?</source>
|
||||
<target>Chat verlassen?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave group" xml:space="preserve">
|
||||
@@ -4401,6 +4422,7 @@ Das ist Ihr Link für die Gruppe %@!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member role will be changed to "%@". All chat members will be notified." xml:space="preserve">
|
||||
<source>Member role will be changed to "%@". All chat members will be notified.</source>
|
||||
<target>Die Rolle des Mitglieds wird auf "%@" geändert. Alle Chat-Mitglieder werden darüber informiert.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member role will be changed to "%@". All group members will be notified." xml:space="preserve">
|
||||
@@ -4415,6 +4437,7 @@ Das ist Ihr Link für die Gruppe %@!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member will be removed from chat - this cannot be undone!" xml:space="preserve">
|
||||
<source>Member will be removed from chat - this cannot be undone!</source>
|
||||
<target>Das Mitglied wird aus dem Chat entfernt. Dies kann nicht rückgängig gemacht werden!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member will be removed from group - this cannot be undone!" xml:space="preserve">
|
||||
@@ -5032,6 +5055,7 @@ Dies erfordert die Aktivierung eines VPNs.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Only chat owners can change preferences." xml:space="preserve">
|
||||
<source>Only chat owners can change preferences.</source>
|
||||
<target>Nur Chat-Eigentümer können die Präferenzen ändern.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Only client devices store user profiles, contacts, groups, and messages." xml:space="preserve">
|
||||
@@ -5166,6 +5190,7 @@ Dies erfordert die Aktivierung eines VPNs.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Or import archive file" xml:space="preserve">
|
||||
<source>Or import archive file</source>
|
||||
<target>Oder importieren Sie eine Archiv-Datei</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Or paste archive link" xml:space="preserve">
|
||||
@@ -5431,6 +5456,7 @@ Fehler: %@</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Privacy for your customers." xml:space="preserve">
|
||||
<source>Privacy for your customers.</source>
|
||||
<target>Schutz der Privatsphäre Ihrer Kunden.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Privacy redefined" xml:space="preserve">
|
||||
@@ -6030,7 +6056,7 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Speichern und Kontakt benachrichtigen</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6065,7 +6091,7 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Präferenzen speichern?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6688,6 +6714,11 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||
<target>SimpleX-Adresse</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<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>
|
||||
@@ -7002,6 +7033,7 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap Create SimpleX address in the menu to create it later." xml:space="preserve">
|
||||
<source>Tap Create SimpleX address in the menu to create it later.</source>
|
||||
<target>Tippen Sie im Menü auf SimpleX-Adresse erstellen, um sie später zu erstellen.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap button " xml:space="preserve">
|
||||
@@ -7203,12 +7235,12 @@ Dies kann passieren, wenn es einen Fehler gegeben hat oder die Verbindung kompro
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new connections of your current chat profile **%@**." xml:space="preserve">
|
||||
<source>The servers for new connections of your current chat profile **%@**.</source>
|
||||
<target>Mögliche Server für neue Verbindungen von Ihrem aktuellen Chat-Profil **%@**.</target>
|
||||
<target>Nachrichten-Server für neue Verbindungen über Ihr aktuelles Chat-Profil **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new files of your current chat profile **%@**." xml:space="preserve">
|
||||
<source>The servers for new files of your current chat profile **%@**.</source>
|
||||
<target>Die Server Deines aktuellen Chat-Profils für neue Dateien **%@**.</target>
|
||||
<target>Medien- und Datei-Server für neue Daten über Ihr aktuelles Chat-Profil **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The text you pasted is not a SimpleX link." xml:space="preserve">
|
||||
@@ -8052,6 +8084,7 @@ Bitten Sie Ihren Kontakt darum einen weiteren Verbindungs-Link zu erzeugen, um s
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connected with %@." xml:space="preserve">
|
||||
<source>You are already connected with %@.</source>
|
||||
<target>Sie sind bereits mit %@ verbunden.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connecting to %@." xml:space="preserve">
|
||||
@@ -8330,6 +8363,7 @@ Verbindungsanfrage wiederholen?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="You will stop receiving messages from this chat. Chat history will be preserved." xml:space="preserve">
|
||||
<source>You will stop receiving messages from this chat. Chat history will be preserved.</source>
|
||||
<target>Sie werden von diesem Chat keine Nachrichten mehr erhalten. Der Nachrichtenverlauf wird beibehalten.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You will stop receiving messages from this group. Chat history will be preserved." xml:space="preserve">
|
||||
@@ -8517,6 +8551,11 @@ Verbindungsanfrage wiederholen?</target>
|
||||
<target>Anruf angenommen</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>Einladung akzeptiert</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>Admin</target>
|
||||
@@ -8705,7 +8744,7 @@ Verbindungsanfrage wiederholen?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>Verbinde…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9199,6 +9238,11 @@ Verbindungsanfrage wiederholen?</target>
|
||||
<target>hat Sie aus der Gruppe entfernt</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>Zur Verbindung aufgefordert</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>abgespeichert</target>
|
||||
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>About SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>About operators</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Accent</target>
|
||||
@@ -755,9 +760,9 @@
|
||||
<target>All data is erased when it is entered.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<target>All data is private to your device.</target>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>All data is kept private on your device.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1612,9 +1617,9 @@
|
||||
<target>Conditions are accepted for the operator(s): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<target>Conditions are already accepted for following operator(s): **%@**.</target>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Conditions are already accepted for these operator(s): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -6051,7 +6056,7 @@ Enable in *Network & servers* settings.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Save and notify contact</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6086,7 +6091,7 @@ Enable in *Network & servers* settings.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Save preferences?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6709,6 +6714,11 @@ Enable in *Network & servers* settings.</target>
|
||||
<target>SimpleX Address</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>SimpleX Chat security was audited by Trail of Bits.</target>
|
||||
@@ -8541,6 +8551,11 @@ Repeat connection request?</target>
|
||||
<target>accepted call</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>accepted invitation</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>admin</target>
|
||||
@@ -8729,7 +8744,7 @@ Repeat connection request?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>connecting…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9223,6 +9238,11 @@ Repeat connection request?</target>
|
||||
<target>removed you</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>requested to connect</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>saved</target>
|
||||
|
||||
@@ -550,11 +550,11 @@
|
||||
<target>Se usará una conexión TCP independiente **por cada perfil que tengas en la aplicación**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="A separate TCP connection will be used **for each contact and group member**. **Please note**: if you have many connections, your battery and traffic consumption can be substantially higher and some connections may fail." xml:space="preserve">
|
||||
<trans-unit id="A separate TCP connection will be used **for each contact and group member**. **Please note**: if you have many connections, your battery and traffic consumption can be substantially higher and some connections may fail." xml:space="preserve" approved="no">
|
||||
<source>A separate TCP connection will be used **for each contact and group member**.
|
||||
**Please note**: if you have many connections, your battery and traffic consumption can be substantially higher and some connections may fail.</source>
|
||||
<target>Se usará una conexión TCP independiente **por cada contacto y miembro de grupo**.
|
||||
**Atención**: si tienes muchas conexiones, tu consumo de batería y tráfico pueden ser sustancialmente mayores y algunas conexiones pueden fallar.</target>
|
||||
<target state="translated">Se usará una conexión TCP independiente **por cada contacto y miembro de grupo**.
|
||||
**Atención**: si tienes muchas conexiones, tu consumo de batería y tráfico pueden aumentar bastante y algunas conexiones pueden fallar.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Abort" xml:space="preserve">
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>Sobre SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>Acerca de los operadores</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Color</target>
|
||||
@@ -637,6 +642,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add friends" xml:space="preserve">
|
||||
<source>Add friends</source>
|
||||
<target>Añadir amigos</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add profile" xml:space="preserve">
|
||||
@@ -656,6 +662,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add team members" xml:space="preserve">
|
||||
<source>Add team members</source>
|
||||
<target>Añadir miembros del equipo</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add to another device" xml:space="preserve">
|
||||
@@ -670,6 +677,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Add your team members to the conversations." xml:space="preserve">
|
||||
<source>Add your team members to the conversations.</source>
|
||||
<target>Añade a los miembros de tu equipo a las conversaciones.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Added media & file servers" xml:space="preserve">
|
||||
@@ -752,8 +760,8 @@
|
||||
<target>Al introducirlo todos los datos son eliminados.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Todos los datos son privados y están en tu dispositivo.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -982,9 +990,9 @@
|
||||
<target>El código de acceso será reemplazado por código de autodestrucción.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="App session" xml:space="preserve">
|
||||
<trans-unit id="App session" xml:space="preserve" approved="no">
|
||||
<source>App session</source>
|
||||
<target>Sesión de aplicación</target>
|
||||
<target state="translated">por sesión</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="App version" xml:space="preserve">
|
||||
@@ -1244,10 +1252,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Business address" xml:space="preserve">
|
||||
<source>Business address</source>
|
||||
<target>Dirección empresarial</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Business chats" xml:space="preserve">
|
||||
<source>Business chats</source>
|
||||
<target>Chats empresariales</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="By chat profile (default) or [by connection](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA)." xml:space="preserve">
|
||||
@@ -1394,14 +1404,17 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat" xml:space="preserve">
|
||||
<source>Chat</source>
|
||||
<target>Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat already exists" xml:space="preserve">
|
||||
<source>Chat already exists</source>
|
||||
<target>El chat ya existe</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat already exists!" xml:space="preserve">
|
||||
<source>Chat already exists!</source>
|
||||
<target>¡El chat ya existe!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat colors" xml:space="preserve">
|
||||
@@ -1481,10 +1494,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat will be deleted for all members - this cannot be undone!" xml:space="preserve">
|
||||
<source>Chat will be deleted for all members - this cannot be undone!</source>
|
||||
<target>El chat será eliminado para todos los miembros. ¡No podrá deshacerse!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chat will be deleted for you - this cannot be undone!" xml:space="preserve">
|
||||
<source>Chat will be deleted for you - this cannot be undone!</source>
|
||||
<target>El chat será eliminado para tí. ¡No podrá deshacerse!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Chats" xml:space="preserve">
|
||||
@@ -1602,8 +1617,8 @@
|
||||
<target>Las condiciones se han aceptado para el(los) operador(s): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<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>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -2243,6 +2258,7 @@ This is your own one-time link!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat" xml:space="preserve">
|
||||
<source>Delete chat</source>
|
||||
<target>Eliminar chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat profile" xml:space="preserve">
|
||||
@@ -2257,6 +2273,7 @@ This is your own one-time link!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete chat?" xml:space="preserve">
|
||||
<source>Delete chat?</source>
|
||||
<target>¿Eliminar chat?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete connection" xml:space="preserve">
|
||||
@@ -2291,7 +2308,7 @@ This is your own one-time link!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete files and media?" xml:space="preserve">
|
||||
<source>Delete files and media?</source>
|
||||
<target>Eliminar archivos y multimedia?</target>
|
||||
<target>¿Eliminar archivos y multimedia?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Delete files for all chat profiles" xml:space="preserve">
|
||||
@@ -2526,6 +2543,7 @@ This is your own one-time link!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Direct messages between members are prohibited in this chat." xml:space="preserve">
|
||||
<source>Direct messages between members are prohibited in this chat.</source>
|
||||
<target>Mensajes directos no permitidos entre miembros de este chat.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Direct messages between members are prohibited." xml:space="preserve">
|
||||
@@ -2736,7 +2754,7 @@ This is your own one-time link!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Enable Flux" xml:space="preserve">
|
||||
<source>Enable Flux</source>
|
||||
<target>Habilitar Flux</target>
|
||||
<target>Habilita Flux</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Enable SimpleX Lock" xml:space="preserve">
|
||||
@@ -2819,9 +2837,9 @@ This is your own one-time link!</source>
|
||||
<target>¿Cifrar base de datos?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Encrypt local files" xml:space="preserve">
|
||||
<trans-unit id="Encrypt local files" xml:space="preserve" approved="no">
|
||||
<source>Encrypt local files</source>
|
||||
<target>Cifra archivos locales</target>
|
||||
<target state="translated">Cifrar archivos locales</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Encrypt stored files & media" xml:space="preserve">
|
||||
@@ -3511,9 +3529,9 @@ This is your own one-time link!</source>
|
||||
<target>Si por ejemplo tu contacto recibe los mensajes a través de un servidor de SimpleX Chat, tu aplicación los entregará a través de un servidor de Flux.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="For private routing" xml:space="preserve">
|
||||
<trans-unit id="For private routing" xml:space="preserve" approved="no">
|
||||
<source>For private routing</source>
|
||||
<target>Para el enrutamiento privado</target>
|
||||
<target state="translated">Para enrutamiento privado</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="For social media" xml:space="preserve">
|
||||
@@ -4101,6 +4119,7 @@ More improvements are coming soon!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Invite to chat" xml:space="preserve">
|
||||
<source>Invite to chat</source>
|
||||
<target>Invitar al chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Invite to group" xml:space="preserve">
|
||||
@@ -4263,10 +4282,12 @@ This is your link for group %@!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave chat" xml:space="preserve">
|
||||
<source>Leave chat</source>
|
||||
<target>Salir del chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave chat?" xml:space="preserve">
|
||||
<source>Leave chat?</source>
|
||||
<target>¿Salir del chat?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Leave group" xml:space="preserve">
|
||||
@@ -4401,6 +4422,7 @@ This is your link for group %@!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member role will be changed to "%@". All chat members will be notified." xml:space="preserve">
|
||||
<source>Member role will be changed to "%@". All chat members will be notified.</source>
|
||||
<target>El rol del miembro cambiará a "%@" y todos serán notificados.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member role will be changed to "%@". All group members will be notified." xml:space="preserve">
|
||||
@@ -4415,6 +4437,7 @@ This is your link for group %@!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member will be removed from chat - this cannot be undone!" xml:space="preserve">
|
||||
<source>Member will be removed from chat - this cannot be undone!</source>
|
||||
<target>El miembro será eliminado del chat. ¡No podrá deshacerse!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Member will be removed from group - this cannot be undone!" xml:space="preserve">
|
||||
@@ -4757,9 +4780,9 @@ This is your link for group %@!</source>
|
||||
<target>Se usarán credenciales SOCKS nuevas cada vez que inicies la aplicación.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="New SOCKS credentials will be used for each server." xml:space="preserve">
|
||||
<trans-unit id="New SOCKS credentials will be used for each server." xml:space="preserve" approved="no">
|
||||
<source>New SOCKS credentials will be used for each server.</source>
|
||||
<target>Se usarán credenciales SOCKS nuevas por cada servidor.</target>
|
||||
<target state="translated">Se usarán credenciales SOCKS nuevas para cada servidor.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="New chat" xml:space="preserve">
|
||||
@@ -4882,14 +4905,14 @@ This is your link for group %@!</source>
|
||||
<target>No hay información, intenta recargar</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No media & file servers." xml:space="preserve">
|
||||
<trans-unit id="No media & file servers." xml:space="preserve" approved="no">
|
||||
<source>No media & file servers.</source>
|
||||
<target>Ningún servidor de archivos y multimedia.</target>
|
||||
<target state="translated">Sin servidores para archivos y multimedia.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No message servers." xml:space="preserve">
|
||||
<trans-unit id="No message servers." xml:space="preserve" approved="no">
|
||||
<source>No message servers.</source>
|
||||
<target>Ningún servidor de mensajes.</target>
|
||||
<target state="translated">Sin servidores para mensajes.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No network connection" xml:space="preserve">
|
||||
@@ -4912,9 +4935,9 @@ This is your link for group %@!</source>
|
||||
<target>Sin permiso para grabar mensajes de voz</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No push server" xml:space="preserve">
|
||||
<trans-unit id="No push server" xml:space="preserve" approved="no">
|
||||
<source>No push server</source>
|
||||
<target>Ningún servidor push</target>
|
||||
<target state="translated">Sin servidores push</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No received or sent files" xml:space="preserve">
|
||||
@@ -4922,24 +4945,24 @@ This is your link for group %@!</source>
|
||||
<target>Sin archivos recibidos o enviados</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No servers for private message routing." xml:space="preserve">
|
||||
<trans-unit id="No servers for private message routing." xml:space="preserve" approved="no">
|
||||
<source>No servers for private message routing.</source>
|
||||
<target>Ningún servidor para enrutamiento privado.</target>
|
||||
<target state="translated">Sin servidores para enrutamiento privado.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No servers to receive files." xml:space="preserve">
|
||||
<trans-unit id="No servers to receive files." xml:space="preserve" approved="no">
|
||||
<source>No servers to receive files.</source>
|
||||
<target>Ningún servidor para recibir archivos.</target>
|
||||
<target state="translated">Sin servidores para recibir archivos.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No servers to receive messages." xml:space="preserve">
|
||||
<trans-unit id="No servers to receive messages." xml:space="preserve" approved="no">
|
||||
<source>No servers to receive messages.</source>
|
||||
<target>Ningún servidor para recibir mensajes.</target>
|
||||
<target state="translated">Sin servidores para recibir mensajes.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No servers to send files." xml:space="preserve">
|
||||
<trans-unit id="No servers to send files." xml:space="preserve" approved="no">
|
||||
<source>No servers to send files.</source>
|
||||
<target>Ningún servidor para enviar archivos.</target>
|
||||
<target state="translated">Sin servidores para enviar archivos.</target>
|
||||
<note>servers error</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="No user identifiers." xml:space="preserve">
|
||||
@@ -5032,6 +5055,7 @@ Requiere activación de la VPN.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Only chat owners can change preferences." xml:space="preserve">
|
||||
<source>Only chat owners can change preferences.</source>
|
||||
<target>Sólo los propietarios del chat pueden cambiar las preferencias.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Only client devices store user profiles, contacts, groups, and messages." xml:space="preserve">
|
||||
@@ -5166,6 +5190,7 @@ Requiere activación de la VPN.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Or import archive file" xml:space="preserve">
|
||||
<source>Or import archive file</source>
|
||||
<target>O importa desde un archivo</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Or paste archive link" xml:space="preserve">
|
||||
@@ -5406,7 +5431,7 @@ Error: %@</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Preset server address" xml:space="preserve">
|
||||
<source>Preset server address</source>
|
||||
<target>Dirección del servidor predefinida</target>
|
||||
<target>Dirección predefinida del servidor</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Preset servers" xml:space="preserve">
|
||||
@@ -5431,6 +5456,7 @@ Error: %@</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Privacy for your customers." xml:space="preserve">
|
||||
<source>Privacy for your customers.</source>
|
||||
<target>Privacidad para tus clientes.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Privacy redefined" xml:space="preserve">
|
||||
@@ -5627,7 +5653,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Read more" xml:space="preserve">
|
||||
<source>Read more</source>
|
||||
<target>Conoce más</target>
|
||||
<target>Saber más</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Read more in [User Guide](https://simplex.chat/docs/guide/chat-profiles.html#incognito-mode)." xml:space="preserve">
|
||||
@@ -6030,7 +6056,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Guardar y notificar contacto</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6065,7 +6091,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>¿Guardar preferencias?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6585,7 +6611,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Share SimpleX address on social media." xml:space="preserve">
|
||||
<source>Share SimpleX address on social media.</source>
|
||||
<target>Compartir dirección SimpleX en redes sociales.</target>
|
||||
<target>Comparte tu dirección SimpleX en redes sociales.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Share address" xml:space="preserve">
|
||||
@@ -6688,6 +6714,11 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
<target>Dirección SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<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>
|
||||
@@ -6720,12 +6751,12 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="SimpleX address and 1-time links are safe to share via any messenger." xml:space="preserve">
|
||||
<source>SimpleX address and 1-time links are safe to share via any messenger.</source>
|
||||
<target>Compartir enlaces de un uso y direcciones SimpleX es seguro a través de cualquier medio.</target>
|
||||
<target>Compartir los enlaces de un uso y las direcciones SimpleX es seguro a través de cualquier medio.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="SimpleX address or 1-time link?" xml:space="preserve">
|
||||
<source>SimpleX address or 1-time link?</source>
|
||||
<target>Dirección SimpleX o enlace de un uso?</target>
|
||||
<target>¿Dirección SimpleX o enlace de un uso?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="SimpleX contact address" xml:space="preserve">
|
||||
@@ -7002,6 +7033,7 @@ Actívalo en ajustes de *Servidores y Redes*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap Create SimpleX address in the menu to create it later." xml:space="preserve">
|
||||
<source>Tap Create SimpleX address in the menu to create it later.</source>
|
||||
<target>Pulsa Crear dirección SimpleX en el menú para crearla más tarde.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap button " xml:space="preserve">
|
||||
@@ -7188,7 +7220,7 @@ Puede ocurrir por algún bug o cuando la conexión está comprometida.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="The second preset operator in the app!" xml:space="preserve">
|
||||
<source>The second preset operator in the app!</source>
|
||||
<target>El segundo operador predefinido!</target>
|
||||
<target>¡Segundo operador predefinido!</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The second tick we missed! ✅" xml:space="preserve">
|
||||
@@ -7201,14 +7233,14 @@ Puede ocurrir por algún bug o cuando la conexión está comprometida.</target>
|
||||
<target>El remitente NO será notificado</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new connections of your current chat profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="The servers for new connections of your current chat profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>The servers for new connections of your current chat profile **%@**.</source>
|
||||
<target>Lista de servidores para las conexiones nuevas de tu perfil actual **%@**.</target>
|
||||
<target state="translated">Servidores para conexiones nuevas en tu perfil **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new files of your current chat profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="The servers for new files of your current chat profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>The servers for new files of your current chat profile **%@**.</source>
|
||||
<target>Los servidores para archivos nuevos en tu perfil actual **%@**.</target>
|
||||
<target state="translated">Servidores para archivos nuevos en tu perfil **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The text you pasted is not a SimpleX link." xml:space="preserve">
|
||||
@@ -7393,9 +7425,9 @@ Se te pedirá que completes la autenticación antes de activar esta función.</t
|
||||
<target>Para permitir las notificaciones automáticas instantáneas, la base de datos se debe migrar.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="To use the servers of **%@**, accept conditions of use." xml:space="preserve">
|
||||
<trans-unit id="To use the servers of **%@**, accept conditions of use." xml:space="preserve" approved="no">
|
||||
<source>To use the servers of **%@**, accept conditions of use.</source>
|
||||
<target>Para usar los servidores de **%@**, acepta las condiciones de uso.</target>
|
||||
<target state="translated">Para usar los servidores de **%@**, debes aceptar las condiciones de uso.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="To verify end-to-end encryption with your contact compare (or scan) the code on your devices." xml:space="preserve">
|
||||
@@ -7690,9 +7722,9 @@ Para conectarte pide a tu contacto que cree otro enlace y comprueba la conexión
|
||||
<target>Usar para mensajes</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Use for new connections" xml:space="preserve">
|
||||
<trans-unit id="Use for new connections" xml:space="preserve" approved="no">
|
||||
<source>Use for new connections</source>
|
||||
<target>Usar para conexiones nuevas</target>
|
||||
<target state="translated">Para conexiones nuevas</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Use from desktop" xml:space="preserve">
|
||||
@@ -8047,11 +8079,12 @@ Para conectarte pide a tu contacto que cree otro enlace y comprueba la conexión
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connected to %@." xml:space="preserve">
|
||||
<source>You are already connected to %@.</source>
|
||||
<target>Ya estás conectado a %@.</target>
|
||||
<target>Ya estás conectado con %@.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connected with %@." xml:space="preserve">
|
||||
<source>You are already connected with %@.</source>
|
||||
<target>Ya estás conectado con %@.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connecting to %@." xml:space="preserve">
|
||||
@@ -8273,9 +8306,9 @@ Repeat connection request?</source>
|
||||
<target>Debes usar la versión más reciente de tu base de datos ÚNICAMENTE en un dispositivo, de lo contrario podrías dejar de recibir mensajes de algunos contactos.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You need to allow your contact to call to be able to call them." xml:space="preserve">
|
||||
<trans-unit id="You need to allow your contact to call to be able to call them." xml:space="preserve" approved="no">
|
||||
<source>You need to allow your contact to call to be able to call them.</source>
|
||||
<target>Necesitas permitir que tus contacto llamen para poder llamarles.</target>
|
||||
<target state="translated">Debes permitir que tus contacto te llamen para poder llamarles.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You need to allow your contact to send voice messages to be able to send them." xml:space="preserve">
|
||||
@@ -8330,6 +8363,7 @@ Repeat connection request?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="You will stop receiving messages from this chat. Chat history will be preserved." xml:space="preserve">
|
||||
<source>You will stop receiving messages from this chat. Chat history will be preserved.</source>
|
||||
<target>Dejarás de recibir mensajes de este chat. El historial del chat se conserva.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You will stop receiving messages from this group. Chat history will be preserved." xml:space="preserve">
|
||||
@@ -8517,6 +8551,11 @@ Repeat connection request?</source>
|
||||
<target>llamada aceptada</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>invitación aceptada</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>administrador</target>
|
||||
@@ -8705,7 +8744,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>conectando…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8899,7 +8938,7 @@ Repeat connection request?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="for better metadata privacy." xml:space="preserve">
|
||||
<source>for better metadata privacy.</source>
|
||||
<target>para mayor privacidad de los metadatos.</target>
|
||||
<target>para mejorar la privacidad de los metadatos.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="forwarded" xml:space="preserve">
|
||||
@@ -9199,6 +9238,11 @@ Repeat connection request?</source>
|
||||
<target>te ha expulsado</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>solicitado para conectar</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>guardado</target>
|
||||
@@ -9475,9 +9519,9 @@ last received msg: %2$@</source>
|
||||
<target>SimpleX</target>
|
||||
<note>Bundle name</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="NSCameraUsageDescription" xml:space="preserve">
|
||||
<trans-unit id="NSCameraUsageDescription" xml:space="preserve" approved="no">
|
||||
<source>SimpleX needs camera access to scan QR codes to connect to other users and for video calls.</source>
|
||||
<target>SimpleX necesita acceso a la cámara para escanear códigos QR para conectarse con otros usuarios y para las videollamadas.</target>
|
||||
<target state="translated">SimpleX necesita acceso a la cámara para escanear códigos QR para conectarse con otros usuarios y para las videollamadas.</target>
|
||||
<note>Privacy - Camera Usage Description</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="NSFaceIDUsageDescription" xml:space="preserve">
|
||||
@@ -9490,9 +9534,9 @@ last received msg: %2$@</source>
|
||||
<target>SimpleX utiliza el acceso a la red local para abrir el perfil de chat en la aplicación de ordenador en la misma red.</target>
|
||||
<note>Privacy - Local Network Usage Description</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="NSMicrophoneUsageDescription" xml:space="preserve">
|
||||
<trans-unit id="NSMicrophoneUsageDescription" xml:space="preserve" approved="no">
|
||||
<source>SimpleX needs microphone access for audio and video calls, and to record voice messages.</source>
|
||||
<target>SimpleX necesita acceso al micrófono para las llamadas de audio, vídeo y para grabar mensajes de voz.</target>
|
||||
<target state="translated">SimpleX necesita acceso al micrófono para las llamadas de audio, vídeo y para grabar mensajes de voz.</target>
|
||||
<note>Privacy - Microphone Usage Description</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="NSPhotoLibraryAddUsageDescription" xml:space="preserve">
|
||||
|
||||
@@ -543,6 +543,10 @@
|
||||
<target>Tietoja SimpleX Chatistä</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
@@ -703,8 +707,8 @@
|
||||
<target>Kaikki tiedot poistetaan, kun se syötetään.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1481,8 +1485,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5560,7 +5564,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Tallenna ja ilmoita kontaktille</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5594,7 +5598,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Tallenna asetukset?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6161,6 +6165,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleX-osoite</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>Trail of Bits on tarkastanut SimpleX Chatin tietoturvan.</target>
|
||||
@@ -7834,6 +7842,10 @@ Repeat connection request?</source>
|
||||
<target>hyväksytty puhelu</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>ylläpitäjä</target>
|
||||
@@ -8012,7 +8024,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>yhdistää…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8488,6 +8500,10 @@ Repeat connection request?</source>
|
||||
<target>poisti sinut</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
|
||||
@@ -572,6 +572,10 @@
|
||||
<target>À propos de SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Principale</target>
|
||||
@@ -741,8 +745,8 @@
|
||||
<target>Toutes les données sont effacées lorsqu'il est saisi.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Toutes les données restent confinées dans votre appareil.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1585,8 +1589,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5968,7 +5972,7 @@ Activez-le dans les paramètres *Réseau et serveurs*.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Enregistrer et en informer le contact</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6003,7 +6007,7 @@ Activez-le dans les paramètres *Réseau et serveurs*.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Enregistrer les préférences ?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6619,6 +6623,10 @@ Activez-le dans les paramètres *Réseau et serveurs*.</target>
|
||||
<target>Adresse SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<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>
|
||||
@@ -8421,6 +8429,10 @@ Répéter la demande de connexion ?</target>
|
||||
<target>appel accepté</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>admin</target>
|
||||
@@ -8609,7 +8621,7 @@ Répéter la demande de connexion ?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>connexion…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9102,6 +9114,10 @@ Répéter la demande de connexion ?</target>
|
||||
<target>vous a retiré</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>enregistré</target>
|
||||
|
||||
@@ -530,9 +530,9 @@
|
||||
<p><a href="%@">Csatlakozzon hozzám a SimpleX Chaten keresztül</a></p></target>
|
||||
<note>email text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="A few more things" xml:space="preserve">
|
||||
<trans-unit id="A few more things" xml:space="preserve" approved="no">
|
||||
<source>A few more things</source>
|
||||
<target>Még néhány dolog</target>
|
||||
<target state="translated">Néhány további dolog</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="A new contact" xml:space="preserve">
|
||||
@@ -574,7 +574,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="About SimpleX Chat" xml:space="preserve">
|
||||
<source>About SimpleX Chat</source>
|
||||
<target>A SimpleX Chatről</target>
|
||||
<target>SimpleX Chat névjegye</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>Az üzemeltetőkről</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
@@ -655,9 +660,9 @@
|
||||
<target>Kiszolgáló hozzáadása QR-kód beolvasásával.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add team members" xml:space="preserve">
|
||||
<trans-unit id="Add team members" xml:space="preserve" approved="no">
|
||||
<source>Add team members</source>
|
||||
<target>Csapattagok hozzáadása</target>
|
||||
<target state="translated">Kollégák hozzáadása</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add to another device" xml:space="preserve">
|
||||
@@ -670,9 +675,9 @@
|
||||
<target>Üdvözlőüzenet hozzáadása</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Add your team members to the conversations." xml:space="preserve">
|
||||
<trans-unit id="Add your team members to the conversations." xml:space="preserve" approved="no">
|
||||
<source>Add your team members to the conversations.</source>
|
||||
<target>Adja hozzá csapattagjait a beszélgetésekhez.</target>
|
||||
<target state="translated">Adja hozzá a kollégáit a beszélgetésekhez.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Added media & file servers" xml:space="preserve">
|
||||
@@ -755,9 +760,9 @@
|
||||
<target>A jelkód megadása után az összes adat törlésre kerül.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<target>Az összes adat biztonságban van az eszközén.</target>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve" approved="no">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target state="translated">Az összes adat privát módon van tárolva az Ön eszközén.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -765,9 +770,9 @@
|
||||
<target>Az összes csoporttag kapcsolatban marad.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All messages and files are sent **end-to-end encrypted**, with post-quantum security in direct messages." xml:space="preserve">
|
||||
<trans-unit id="All messages and files are sent **end-to-end encrypted**, with post-quantum security in direct messages." xml:space="preserve" approved="no">
|
||||
<source>All messages and files are sent **end-to-end encrypted**, with post-quantum security in direct messages.</source>
|
||||
<target>Az összes üzenetet és fájlt **végpontok közötti titkosítással** küldi, a közvetlen üzenetekben pedig kvantumrezisztens biztonsággal.</target>
|
||||
<target state="translated">Az összes üzenet és fájl **végpontok közötti titkosítással**, a közvetlen üzenetek továbbá kvantumálló titkosítással is rendelkeznek.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All messages will be deleted - this cannot be undone!" xml:space="preserve">
|
||||
@@ -955,9 +960,9 @@
|
||||
<target>Bárki üzemeltethet kiszolgálókat.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="App build: %@" xml:space="preserve">
|
||||
<trans-unit id="App build: %@" xml:space="preserve" approved="no">
|
||||
<source>App build: %@</source>
|
||||
<target>Az alkalmazás build száma: %@</target>
|
||||
<target state="translated">Az alkalmazás összeállítási száma: %@</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="App data migration" xml:space="preserve">
|
||||
@@ -1348,7 +1353,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Change chat profiles" xml:space="preserve">
|
||||
<source>Change chat profiles</source>
|
||||
<target>Felhasználói profilok megváltoztatása</target>
|
||||
<target>Csevegési profilok megváltoztatása</target>
|
||||
<note>authentication reason</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Change database passphrase?" xml:space="preserve">
|
||||
@@ -1612,8 +1617,8 @@
|
||||
<target>A következő üzemeltető(k) számára elfogadott feltételek: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<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>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -2882,9 +2887,9 @@ Ez az Ön egyszer használható meghívó-hivatkozása!</target>
|
||||
<target>Titkosított üzenet: váratlan hiba</target>
|
||||
<note>notification</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Encryption re-negotiation error" xml:space="preserve">
|
||||
<trans-unit id="Encryption re-negotiation error" xml:space="preserve" approved="no">
|
||||
<source>Encryption re-negotiation error</source>
|
||||
<target>Titkosítás újraegyeztetési hiba</target>
|
||||
<target state="translated">Titkosítás-újraegyeztetési hiba</target>
|
||||
<note>message decrypt error item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Encryption re-negotiation failed." xml:space="preserve">
|
||||
@@ -3521,7 +3526,7 @@ Ez az Ön egyszer használható meghívó-hivatkozása!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server." xml:space="preserve">
|
||||
<source>For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server.</source>
|
||||
<target>Ha például az ismerőse a SimpleX Chat kiszolgálón keresztül fogadja az üzeneteket, az Ön alkalmazása a Flux egyik kiszolgálóját használja a kézbesítéshez.</target>
|
||||
<target>Például, ha az Ön ismerőse egy SimpleX Chat-kiszolgálón keresztül fogadja az üzeneteket, az Ön alkalmazása egy Flux-kiszolgálón keresztül fogja azokat kézbesíteni.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="For private routing" xml:space="preserve">
|
||||
@@ -4605,9 +4610,9 @@ Ez az Ön hivatkozása a(z) %@ nevű csoporthoz!</target>
|
||||
<target>Az üzeneteket, fájlokat és hívásokat **végpontok közötti titkosítással**, sérülés utáni titkosság-védelemmel és -helyreállítással, továbbá visszautasítással védi.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Messages, files and calls are protected by **quantum resistant e2e encryption** with perfect forward secrecy, repudiation and break-in recovery." xml:space="preserve">
|
||||
<trans-unit id="Messages, files and calls are protected by **quantum resistant e2e encryption** with perfect forward secrecy, repudiation and break-in recovery." xml:space="preserve" approved="no">
|
||||
<source>Messages, files and calls are protected by **quantum resistant e2e encryption** with perfect forward secrecy, repudiation and break-in recovery.</source>
|
||||
<target>Az üzeneteket, fájlokat és hívásokat **végpontok közötti kvantumrezisztens titkosítással**, sérülés utáni titkosság-védelemmel és -helyreállítással, továbbá visszautasítással védi.</target>
|
||||
<target state="translated">Az üzenetek, fájlok és hívások **végpontok közötti kvantumálló titkosítással** sérülés utáni titkosságvédelemmel, visszautasítással és feltörés utáni helyreállítással vannak védve.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Migrate device" xml:space="preserve">
|
||||
@@ -5566,7 +5571,7 @@ Hiba: %@</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Protect IP address" xml:space="preserve">
|
||||
<source>Protect IP address</source>
|
||||
<target>IP-cím védelem</target>
|
||||
<target>IP-cím védelme</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Protect app screen" xml:space="preserve">
|
||||
@@ -5621,9 +5626,9 @@ Engedélyezze a „Beállítások -> Hálózat és kiszolgálók” menüben.
|
||||
<target>Push-kiszolgáló</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Quantum resistant encryption" xml:space="preserve">
|
||||
<trans-unit id="Quantum resistant encryption" xml:space="preserve" approved="no">
|
||||
<source>Quantum resistant encryption</source>
|
||||
<target>Kvantumrezisztens titkosítás</target>
|
||||
<target state="translated">Kvantumálló titkosítás</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Rate the app" xml:space="preserve">
|
||||
@@ -6051,7 +6056,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">
|
||||
<source>Save and notify contact</source>
|
||||
<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 id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6086,7 +6091,7 @@ Engedélyezze a „Beállítások -> Hálózat és kiszolgálók” menüben.
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Beállítások mentése?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6709,6 +6714,11 @@ Engedélyezze a „Beállítások -> Hálózat és kiszolgálók” menüben.
|
||||
<target>SimpleX-cím</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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>A SimpleX Chat és a Flux megállapodást kötött arról, hogy a Flux által üzemeltetett kiszolgálókat beépítik az alkalmazásba.</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">
|
||||
<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>
|
||||
@@ -7200,7 +7210,7 @@ Ez valamilyen hiba, vagy sérült kapcsolat esetén fordulhat elő.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="The same conditions will apply to operator **%@**." xml:space="preserve">
|
||||
<source>The same conditions will apply to operator **%@**.</source>
|
||||
<target>Ugyanezek a feltételek vonatkoznak a következő üzemeltetőre is: **%@**.</target>
|
||||
<target>Ugyanezek a feltételek lesznek elfogadva a következő üzemeltetőre is: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The same conditions will apply to operator(s): **%@**." xml:space="preserve">
|
||||
@@ -7223,14 +7233,14 @@ Ez valamilyen hiba, vagy sérült kapcsolat esetén fordulhat elő.</target>
|
||||
<target>A feladó NEM fog értesítést kapni</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new connections of your current chat profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="The servers for new connections of your current chat profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>The servers for new connections of your current chat profile **%@**.</source>
|
||||
<target>A jelenlegi csevegési profilhoz tartozó új kapcsolatok kiszolgálói **%@**.</target>
|
||||
<target state="translated">Az Ön jelenlegi **%@** nevű csevegő-profiljához tartozó új kapcsolatok kiszolgálói.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The servers for new files of your current chat profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="The servers for new files of your current chat profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>The servers for new files of your current chat profile **%@**.</source>
|
||||
<target>Az Ön jelenlegi **%@** nevű csevegőprofiljához tartozó új fájlok kiszolgálói.</target>
|
||||
<target state="translated">Az Ön jelenlegi **%@** nevű csevegő-profiljához tartozó új fájlok kiszolgálói.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="The text you pasted is not a SimpleX link." xml:space="preserve">
|
||||
@@ -7253,9 +7263,9 @@ Ez valamilyen hiba, vagy sérült kapcsolat esetén fordulhat elő.</target>
|
||||
<target>Ezek a feltételek lesznek elfogadva a következő számára is: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="These settings are for your current profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="These settings are for your current profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>These settings are for your current profile **%@**.</source>
|
||||
<target>Ezek a beállítások csak a jelenlegi (**%@**) profiljára vonatkoznak.</target>
|
||||
<target state="translated">Ezek a beállítások csak az Ön jelenlegi **%@** nevű csevegő-profiljára vonatkoznak.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="They can be overridden in contact and group settings." xml:space="preserve">
|
||||
@@ -7283,9 +7293,9 @@ Ez valamilyen hiba, vagy sérült kapcsolat esetén fordulhat elő.</target>
|
||||
<target>Ez a csevegés végpontok közötti titkosítással védett.</target>
|
||||
<note>E2EE info chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="This chat is protected by quantum resistant end-to-end encryption." xml:space="preserve">
|
||||
<trans-unit id="This chat is protected by quantum resistant end-to-end encryption." xml:space="preserve" approved="no">
|
||||
<source>This chat is protected by quantum resistant end-to-end encryption.</source>
|
||||
<target>Ez a csevegés végpontok közötti kvantumrezisztens tikosítással védett.</target>
|
||||
<target state="translated">Ez a csevegés végpontok közötti kvantumálló tikosítással védett.</target>
|
||||
<note>E2EE info chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="This device name" xml:space="preserve">
|
||||
@@ -7323,9 +7333,9 @@ Ez valamilyen hiba, vagy sérült kapcsolat esetén fordulhat elő.</target>
|
||||
<target>Ezt a hivatkozást egy másik hordozható eszközön már használták, hozzon létre egy új hivatkozást a számítógépén.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="This setting applies to messages in your current chat profile **%@**." xml:space="preserve">
|
||||
<trans-unit id="This setting applies to messages in your current chat profile **%@**." xml:space="preserve" approved="no">
|
||||
<source>This setting applies to messages in your current chat profile **%@**.</source>
|
||||
<target>Ez a beállítás csak a jelenlegi (**%@**) profiljában lévő üzenetekre vonatkozik.</target>
|
||||
<target state="translated">Ez a beállítás csak az Ön jelenlegi **%@** nevű csevegő-profiljában lévő üzenetekre vonatkozik.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Title" xml:space="preserve">
|
||||
@@ -7822,9 +7832,9 @@ A kapcsolódáshoz kérje meg az ismerősét, hogy hozzon létre egy másik kapc
|
||||
<target>Böngészőn keresztül</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Via secure quantum resistant protocol." xml:space="preserve">
|
||||
<trans-unit id="Via secure quantum resistant protocol." xml:space="preserve" approved="no">
|
||||
<source>Via secure quantum resistant protocol.</source>
|
||||
<target>Biztonságos kvantumrezisztens-protokollon keresztül.</target>
|
||||
<target state="translated">Biztonságos kvantumálló-protokollon keresztül.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Video call" xml:space="preserve">
|
||||
@@ -7917,9 +7927,9 @@ A kapcsolódáshoz kérje meg az ismerősét, hogy hozzon létre egy másik kapc
|
||||
<target>Várakozás a videóra</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Wallpaper accent" xml:space="preserve">
|
||||
<trans-unit id="Wallpaper accent" xml:space="preserve" approved="no">
|
||||
<source>Wallpaper accent</source>
|
||||
<target>Háttérkép kiemelés</target>
|
||||
<target state="translated">Háttérkép kiemelőszíne</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Wallpaper background" xml:space="preserve">
|
||||
@@ -8067,9 +8077,9 @@ A kapcsolódáshoz kérje meg az ismerősét, hogy hozzon létre egy másik kapc
|
||||
<target>Már van egy csevegési profil ugyanezzel a megjelenített névvel. Válasszon egy másik nevet.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connected to %@." xml:space="preserve">
|
||||
<trans-unit id="You are already connected to %@." xml:space="preserve" approved="no">
|
||||
<source>You are already connected to %@.</source>
|
||||
<target>Ön már kapcsolódva van ehhez: %@.</target>
|
||||
<target state="translated">Ön már kapcsolódva van a következőhöz: %@.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connected with %@." xml:space="preserve">
|
||||
@@ -8077,9 +8087,9 @@ A kapcsolódáshoz kérje meg az ismerősét, hogy hozzon létre egy másik kapc
|
||||
<target>Ön már kapcsolódva van vele: %@.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connecting to %@." xml:space="preserve">
|
||||
<trans-unit id="You are already connecting to %@." xml:space="preserve" approved="no">
|
||||
<source>You are already connecting to %@.</source>
|
||||
<target>Már folyamatban van a kapcsolódás ehhez: %@.</target>
|
||||
<target state="translated">Már folyamatban van a kapcsolódás a következőhöz: %@.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You are already connecting via this one-time link!" xml:space="preserve">
|
||||
@@ -8146,7 +8156,7 @@ Csatlakozáskérés megismétlése?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can configure servers via settings." xml:space="preserve">
|
||||
<source>You can configure servers via settings.</source>
|
||||
<target>A kiszolgálókat a beállításokon keresztül konfigurálhatja.</target>
|
||||
<target>A kiszolgálókat a „Hálózat és kiszolgálók” menüben konfigurálhatja.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can create it later" xml:space="preserve">
|
||||
@@ -8196,7 +8206,7 @@ Csatlakozáskérés megismétlése?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can set lock screen notification preview via settings." xml:space="preserve">
|
||||
<source>You can set lock screen notification preview via settings.</source>
|
||||
<target>A beállításokon keresztül beállíthatja a lezárási képernyő értesítési előnézetét.</target>
|
||||
<target>A lezárási képernyő értesítési előnézetét az „Értesítések” menüben állíthatja be.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can share a link or a QR code - anybody will be able to join the group. You won't lose members of the group if you later delete it." xml:space="preserve">
|
||||
@@ -8541,6 +8551,11 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<target>elfogadott hívás</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>elfogadott meghívó</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>adminisztrátor</target>
|
||||
@@ -8729,7 +8744,7 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>kapcsolódás…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8766,9 +8781,9 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<target>egyedi</target>
|
||||
<note>dropdown time picker choice</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="database version is newer than the app, but no down migration for: %@" xml:space="preserve">
|
||||
<trans-unit id="database version is newer than the app, but no down migration for: %@" xml:space="preserve" approved="no">
|
||||
<source>database version is newer than the app, but no down migration for: %@</source>
|
||||
<target>az adatbázis verziója újabb, mint az alkalmazásé, de nincs visszafelé átköltöztetés ehhez: %@</target>
|
||||
<target state="translated">az adatbázis verziója újabb, mint az alkalmazásé, de nincs visszafelé átköltöztetés a következőhöz: %@</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="days" xml:space="preserve">
|
||||
@@ -8876,24 +8891,24 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<target>titkosítás rendben vele: %@</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="encryption re-negotiation allowed" xml:space="preserve">
|
||||
<trans-unit id="encryption re-negotiation allowed" xml:space="preserve" approved="no">
|
||||
<source>encryption re-negotiation allowed</source>
|
||||
<target>titkosítás újraegyeztetés engedélyezve</target>
|
||||
<target state="translated">titkosítás-újraegyeztetés engedélyezve</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="encryption re-negotiation allowed for %@" xml:space="preserve">
|
||||
<trans-unit id="encryption re-negotiation allowed for %@" xml:space="preserve" approved="no">
|
||||
<source>encryption re-negotiation allowed for %@</source>
|
||||
<target>titkosítás újraegyeztetés engedélyezve vele: %@</target>
|
||||
<target state="translated">a titkosítás újraegyeztetése engedélyezve van a következőhöz: %@</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="encryption re-negotiation required" xml:space="preserve">
|
||||
<trans-unit id="encryption re-negotiation required" xml:space="preserve" approved="no">
|
||||
<source>encryption re-negotiation required</source>
|
||||
<target>titkosítás újraegyeztetés szükséges</target>
|
||||
<target state="translated">titkosítás-újraegyeztetés szükséges</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="encryption re-negotiation required for %@" xml:space="preserve">
|
||||
<trans-unit id="encryption re-negotiation required for %@" xml:space="preserve" approved="no">
|
||||
<source>encryption re-negotiation required for %@</source>
|
||||
<target>titkosítás újraegyeztetés szükséges %@ számára</target>
|
||||
<target state="translated">a titkosítás újraegyeztetése szükséges a következőhöz: %@</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="ended" xml:space="preserve">
|
||||
@@ -9178,9 +9193,9 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<target>ponttól-pontig</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="quantum resistant e2e encryption" xml:space="preserve">
|
||||
<trans-unit id="quantum resistant e2e encryption" xml:space="preserve" approved="no">
|
||||
<source>quantum resistant e2e encryption</source>
|
||||
<target>végpontok közötti kvantumrezisztens titkosítás</target>
|
||||
<target state="translated">végpontok közötti kvantumálló titkosítás</target>
|
||||
<note>chat item text</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="received answer…" xml:space="preserve">
|
||||
@@ -9223,6 +9238,11 @@ Kapcsolatkérés megismétlése?</target>
|
||||
<target>eltávolította Önt</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>kérelmezve a kapcsolódáshoz</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>mentett</target>
|
||||
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>Riguardo SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve" approved="no">
|
||||
<source>About operators</source>
|
||||
<target state="translated">Info sugli operatori</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Principale</target>
|
||||
@@ -755,8 +760,8 @@
|
||||
<target>Tutti i dati vengono cancellati quando inserito.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Tutti i dati sono privati, nel tuo dispositivo.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1087,12 +1092,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Auto-accept contact requests" xml:space="preserve">
|
||||
<source>Auto-accept contact requests</source>
|
||||
<target>Auto-accetta richieste di contatto</target>
|
||||
<target>Auto-accetta le richieste di contatto</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Auto-accept images" xml:space="preserve">
|
||||
<source>Auto-accept images</source>
|
||||
<target>Auto-accetta immagini</target>
|
||||
<target>Auto-accetta le immagini</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Auto-accept settings" xml:space="preserve">
|
||||
@@ -1212,7 +1217,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="Blur media" xml:space="preserve">
|
||||
<source>Blur media</source>
|
||||
<target>Sfocatura file multimediali</target>
|
||||
<target>Sfocatura dei file multimediali</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Both you and your contact can add message reactions." xml:space="preserve">
|
||||
@@ -1612,8 +1617,8 @@
|
||||
<target>Le condizioni sono state accettate per gli operatori: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Le condizioni sono già state accettate per i seguenti operatori: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -4497,7 +4502,7 @@ Questo è il tuo link per il gruppo %@!</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Message draft" xml:space="preserve">
|
||||
<source>Message draft</source>
|
||||
<target>Bozza dei messaggi</target>
|
||||
<target>Bozza del messaggio</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Message forwarded" xml:space="preserve">
|
||||
@@ -5984,12 +5989,12 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Review conditions" xml:space="preserve">
|
||||
<source>Review conditions</source>
|
||||
<target>Esamina le condizioni</target>
|
||||
<target>Leggi le condizioni</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Review later" xml:space="preserve">
|
||||
<source>Review later</source>
|
||||
<target>Esamina più tardi</target>
|
||||
<target>Leggi più tardi</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Revoke" xml:space="preserve">
|
||||
@@ -6051,7 +6056,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Salva e avvisa il contatto</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6086,7 +6091,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Salvare le preferenze?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6285,7 +6290,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Send link previews" xml:space="preserve">
|
||||
<source>Send link previews</source>
|
||||
<target>Invia anteprime dei link</target>
|
||||
<target>Invia le anteprime dei link</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Send live message" xml:space="preserve">
|
||||
@@ -6606,7 +6611,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Share SimpleX address on social media." xml:space="preserve">
|
||||
<source>Share SimpleX address on social media.</source>
|
||||
<target>Condividi indirizzo SimpleX sui social media.</target>
|
||||
<target>Condividi l'indirizzo SimpleX sui social media.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Share address" xml:space="preserve">
|
||||
@@ -6709,6 +6714,11 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
<target>Indirizzo SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." xml:space="preserve" approved="no">
|
||||
<source>SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app.</source>
|
||||
<target state="translated">SimpleX Chat e Flux hanno concluso un accordo per includere server gestiti da Flux nell'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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>La sicurezza di SimpleX Chat è stata verificata da Trail of Bits.</target>
|
||||
@@ -7023,7 +7033,7 @@ Attivalo nelle impostazioni *Rete e server*.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap Create SimpleX address in the menu to create it later." xml:space="preserve">
|
||||
<source>Tap Create SimpleX address in the menu to create it later.</source>
|
||||
<target>Tocca "Crea indirizzo SimpleX" nel menu per crearlo più tardi.</target>
|
||||
<target>Tocca Crea indirizzo SimpleX nel menu per crearlo più tardi.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Tap button " xml:space="preserve">
|
||||
@@ -8541,6 +8551,11 @@ Ripetere la richiesta di connessione?</target>
|
||||
<target>chiamata accettata</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve" approved="no">
|
||||
<source>accepted invitation</source>
|
||||
<target state="translated">invito accettato</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>amministratore</target>
|
||||
@@ -8729,7 +8744,7 @@ Ripetere la richiesta di connessione?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>in connessione…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9223,6 +9238,11 @@ Ripetere la richiesta di connessione?</target>
|
||||
<target>ti ha rimosso/a</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve" approved="no">
|
||||
<source>requested to connect</source>
|
||||
<target state="translated">richiesto di connettersi</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>salvato</target>
|
||||
|
||||
@@ -560,6 +560,10 @@
|
||||
<target>SimpleX Chat について</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
@@ -720,8 +724,8 @@
|
||||
<target>入力するとすべてのデータが消去されます。</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1511,8 +1515,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -2474,9 +2478,9 @@ This is your own one-time link!</source>
|
||||
<source>Do not use credentials with proxy.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Don't create address" xml:space="preserve">
|
||||
<trans-unit id="Don't create address" xml:space="preserve" approved="no">
|
||||
<source>Don't create address</source>
|
||||
<target>アドレスを作成しないでください</target>
|
||||
<target state="translated">アドレスを作成しない</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Don't enable" xml:space="preserve">
|
||||
@@ -3756,9 +3760,9 @@ More improvements are coming soon!</source>
|
||||
<target>インストール [ターミナル用SimpleX Chat](https://github.com/simplex-chat/simplex-chat)</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Instant" xml:space="preserve">
|
||||
<trans-unit id="Instant" xml:space="preserve" approved="no">
|
||||
<source>Instant</source>
|
||||
<target>すぐに</target>
|
||||
<target state="translated">即時</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Instant push notifications will be hidden! " xml:space="preserve">
|
||||
@@ -4294,8 +4298,9 @@ This is your link for group %@!</source>
|
||||
<source>Migrate device</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Migrate from another device" xml:space="preserve">
|
||||
<trans-unit id="Migrate from another device" xml:space="preserve" approved="no">
|
||||
<source>Migrate from another device</source>
|
||||
<target state="translated">別の端末から移行</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Migrate here" xml:space="preserve">
|
||||
@@ -5079,8 +5084,9 @@ Error: %@</source>
|
||||
<source>Private message routing 🚀</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Private notes" xml:space="preserve">
|
||||
<trans-unit id="Private notes" xml:space="preserve" approved="no">
|
||||
<source>Private notes</source>
|
||||
<target state="translated">プライベートノート</target>
|
||||
<note>name of notes to self</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Private routing" xml:space="preserve">
|
||||
@@ -5609,7 +5615,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>保存して、連絡先にに知らせる</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5643,7 +5649,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>この設定でよろしいですか?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6203,6 +6209,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleXアドレス</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>SimpleX Chat のセキュリティは Trail of Bits によって監査されました。</target>
|
||||
@@ -7529,8 +7539,9 @@ Repeat join request?</source>
|
||||
<target>ユーザープロファイルを右にスワイプすると、非表示またはミュートにすることができます。</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can make it visible to your SimpleX contacts via Settings." xml:space="preserve">
|
||||
<trans-unit id="You can make it visible to your SimpleX contacts via Settings." xml:space="preserve" approved="no">
|
||||
<source>You can make it visible to your SimpleX contacts via Settings.</source>
|
||||
<target state="translated">設定でSimpleXの連絡先に表示させることができます。</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can now chat with %@" xml:space="preserve">
|
||||
@@ -7876,6 +7887,10 @@ Repeat connection request?</source>
|
||||
<target>受けた通話</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>管理者</target>
|
||||
@@ -8054,7 +8069,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>接続待ち…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8530,6 +8545,10 @@ Repeat connection request?</source>
|
||||
<target>あなたを除名しました</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>Over SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>Over operatoren</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Accent</target>
|
||||
@@ -755,8 +760,8 @@
|
||||
<target>Alle gegevens worden bij het invoeren gewist.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Alle gegevens zijn privé op uw apparaat.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1612,8 +1617,8 @@
|
||||
<target>Voorwaarden worden geaccepteerd voor de operator(s): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -6051,7 +6056,7 @@ Schakel dit in in *Netwerk en servers*-instellingen.</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Opslaan en Contact melden</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6086,7 +6091,7 @@ Schakel dit in in *Netwerk en servers*-instellingen.</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Voorkeuren opslaan?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6709,6 +6714,11 @@ Schakel dit in in *Netwerk en servers*-instellingen.</target>
|
||||
<target>SimpleX adres</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.</target>
|
||||
@@ -8541,6 +8551,11 @@ Verbindingsverzoek herhalen?</target>
|
||||
<target>geaccepteerde oproep</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>geaccepteerde uitnodiging</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>Beheerder</target>
|
||||
@@ -8729,7 +8744,7 @@ Verbindingsverzoek herhalen?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>Verbinden…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9223,6 +9238,11 @@ Verbindingsverzoek herhalen?</target>
|
||||
<target>heeft je verwijderd</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>gevraagd om verbinding te maken</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>opgeslagen</target>
|
||||
|
||||
@@ -572,6 +572,10 @@
|
||||
<target>O SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Akcent</target>
|
||||
@@ -741,8 +745,8 @@
|
||||
<target>Wszystkie dane są usuwane po jego wprowadzeniu.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Wszystkie dane są prywatne na Twoim urządzeniu.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1580,8 +1584,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5958,7 +5962,7 @@ Włącz w ustawianiach *Sieć i serwery* .</target>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Zapisz i powiadom kontakt</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5993,7 +5997,7 @@ Włącz w ustawianiach *Sieć i serwery* .</target>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Zapisać preferencje?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6609,6 +6613,10 @@ Włącz w ustawianiach *Sieć i serwery* .</target>
|
||||
<target>Adres SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>Bezpieczeństwo SimpleX Chat zostało zaudytowane przez Trail of Bits.</target>
|
||||
@@ -8408,6 +8416,10 @@ Powtórzyć prośbę połączenia?</target>
|
||||
<target>zaakceptowane połączenie</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>administrator</target>
|
||||
@@ -8596,7 +8608,7 @@ Powtórzyć prośbę połączenia?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>łączenie…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9089,6 +9101,10 @@ Powtórzyć prośbę połączenia?</target>
|
||||
<target>usunął cię</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>zapisane</target>
|
||||
|
||||
@@ -5425,8 +5425,8 @@ Isso pode acontecer por causa de algum bug ou quando a conexão está comprometi
|
||||
<source>Advanced settings</source>
|
||||
<target state="translated">Configurações avançadas</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve" approved="no">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve" approved="no">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target state="translated">Toda informação é privada em seu dispositivo.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="All your contacts, conversations and files will be securely encrypted and uploaded in chunks to configured XFTP relays." xml:space="preserve" approved="no">
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="**Scan / Paste link**: to connect via a link you received." xml:space="preserve">
|
||||
<source>**Scan / Paste link**: to connect via a link you received.</source>
|
||||
<target>**Сканировать / Вставить ссылку**: чтобы соединится через полученную ссылку.</target>
|
||||
<target>**Сканировать / Вставить ссылку**: чтобы соединиться через полученную ссылку.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="**Warning**: Instant push notifications require passphrase saved in Keychain." xml:space="preserve">
|
||||
@@ -577,6 +577,11 @@
|
||||
<target>Информация о SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<target>Об операторах</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Акцент</target>
|
||||
@@ -755,8 +760,8 @@
|
||||
<target>Все данные удаляются при его вводе.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Все данные хранятся только на вашем устройстве.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1612,8 +1617,8 @@
|
||||
<target>Условия приняты для оператора(ов): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Условия уже приняты для следующих оператора(ов): **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -5577,7 +5582,7 @@ Error: %@</source>
|
||||
<source>Protect your IP address from the messaging relays chosen by your contacts.
|
||||
Enable in *Network & servers* settings.</source>
|
||||
<target>Защитите ваш IP адрес от серверов сообщений, выбранных Вашими контактами.
|
||||
Включите в настройках *Сеть и серверы*.</target>
|
||||
Включите в настройках *Сети и серверов*.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Protect your chat profiles with a password!" xml:space="preserve">
|
||||
@@ -6050,7 +6055,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Сохранить и уведомить контакт</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6085,7 +6090,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Сохранить предпочтения?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6708,6 +6713,11 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>Адрес SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>Безопасность SimpleX Chat была проверена Trail of Bits.</target>
|
||||
@@ -8140,12 +8150,12 @@ Repeat join request?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can configure operators in Network & servers settings." xml:space="preserve">
|
||||
<source>You can configure operators in Network & servers settings.</source>
|
||||
<target>Вы можете настроить операторов в настройках Сеть и серверы.</target>
|
||||
<target>Вы можете настроить операторов в настройках Сети и серверов.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can configure servers via settings." xml:space="preserve">
|
||||
<source>You can configure servers via settings.</source>
|
||||
<target>Вы можете сконфигурировать серверы через настройки.</target>
|
||||
<target>Вы можете настроить серверы позже.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="You can create it later" xml:space="preserve">
|
||||
@@ -8540,6 +8550,11 @@ Repeat connection request?</source>
|
||||
<target>принятый звонок</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<target>принятое приглашение</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>админ</target>
|
||||
@@ -8728,7 +8743,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>соединяется…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9222,6 +9237,11 @@ Repeat connection request?</source>
|
||||
<target>удалил(а) Вас из группы</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<target>запрошено соединение</target>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>сохранено</target>
|
||||
|
||||
@@ -536,6 +536,10 @@
|
||||
<target>เกี่ยวกับ SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
@@ -695,8 +699,8 @@
|
||||
<target>ข้อมูลทั้งหมดจะถูกลบเมื่อถูกป้อน</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All group members will remain connected." xml:space="preserve">
|
||||
@@ -1473,8 +1477,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5537,7 +5541,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>บันทึกและแจ้งผู้ติดต่อ</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5571,7 +5575,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>บันทึกการตั้งค่า?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6135,6 +6139,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>ที่อยู่ SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>ความปลอดภัยของ SimpleX Chat ได้รับการตรวจสอบโดย Trail of Bits</target>
|
||||
@@ -7802,6 +7810,10 @@ Repeat connection request?</source>
|
||||
<target>รับสายแล้ว</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>ผู้ดูแลระบบ</target>
|
||||
@@ -7980,7 +7992,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>กำลังเชื่อมต่อ…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -8454,6 +8466,10 @@ Repeat connection request?</source>
|
||||
<target>ลบคุณออกแล้ว</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
|
||||
@@ -572,6 +572,10 @@
|
||||
<target>SimpleX Chat hakkında</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Ana renk</target>
|
||||
@@ -741,8 +745,8 @@
|
||||
<target>Kullanıldığında bütün veriler silinir.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Tüm veriler cihazınıza özeldir.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1585,8 +1589,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5968,7 +5972,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Kaydet ve kişilere bildir</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6003,7 +6007,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Tercihler kaydedilsin mi?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6619,6 +6623,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleX Adresi</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<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>
|
||||
@@ -8421,6 +8429,10 @@ Bağlantı isteği tekrarlansın mı?</target>
|
||||
<target>kabul edilen arama</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>yönetici</target>
|
||||
@@ -8609,7 +8621,7 @@ Bağlantı isteği tekrarlansın mı?</target>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>bağlanılıyor…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9102,6 +9114,10 @@ Bağlantı isteği tekrarlansın mı?</target>
|
||||
<target>sen kaldırıldın</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>kaydedildi</target>
|
||||
|
||||
@@ -577,6 +577,10 @@
|
||||
<target>Про чат SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>Акцент</target>
|
||||
@@ -752,8 +756,8 @@
|
||||
<target>Всі дані стираються при введенні.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>Всі дані є приватними для вашого пристрою.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1602,8 +1606,8 @@
|
||||
<target>Для оператора(ів) приймаються умови: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<target>Умови вже прийняті для наступних операторів: **%@**.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -6030,7 +6034,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>Зберегти та повідомити контакт</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -6065,7 +6069,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>Зберегти настройки?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6688,6 +6692,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>Адреса SimpleX</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>Безпека SimpleX Chat була перевірена компанією Trail of Bits.</target>
|
||||
@@ -8517,6 +8525,10 @@ Repeat connection request?</source>
|
||||
<target>прийнято виклик</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>адмін</target>
|
||||
@@ -8705,7 +8717,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>з'єднання…</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9199,6 +9211,10 @@ Repeat connection request?</source>
|
||||
<target>прибрали вас</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>збережено</target>
|
||||
|
||||
@@ -566,6 +566,10 @@
|
||||
<target>关于SimpleX Chat</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="About operators" xml:space="preserve">
|
||||
<source>About operators</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Accent" xml:space="preserve">
|
||||
<source>Accent</source>
|
||||
<target>强调</target>
|
||||
@@ -735,8 +739,8 @@
|
||||
<target>所有数据在输入后将被删除。</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="All data is private to your device." xml:space="preserve">
|
||||
<source>All data is private to your device.</source>
|
||||
<trans-unit id="All data is kept private on your device." xml:space="preserve">
|
||||
<source>All data is kept private on your device.</source>
|
||||
<target>所有数据都是您设备的私有数据.</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
@@ -1571,8 +1575,8 @@
|
||||
<source>Conditions are accepted for the operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions are already accepted for following operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for following operator(s): **%@**.</source>
|
||||
<trans-unit id="Conditions are already accepted for these operator(s): **%@**." xml:space="preserve">
|
||||
<source>Conditions are already accepted for these operator(s): **%@**.</source>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Conditions of use" xml:space="preserve">
|
||||
@@ -5921,7 +5925,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save and notify contact" xml:space="preserve">
|
||||
<source>Save and notify contact</source>
|
||||
<target>保存并通知联系人</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert button</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save and notify group members" xml:space="preserve">
|
||||
<source>Save and notify group members</source>
|
||||
@@ -5956,7 +5960,7 @@ Enable in *Network & servers* settings.</source>
|
||||
<trans-unit id="Save preferences?" xml:space="preserve">
|
||||
<source>Save preferences?</source>
|
||||
<target>保存偏好设置?</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
<note>alert title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="Save profile password" xml:space="preserve">
|
||||
<source>Save profile password</source>
|
||||
@@ -6566,6 +6570,10 @@ Enable in *Network & servers* settings.</source>
|
||||
<target>SimpleX 地址</target>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</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">
|
||||
<source>SimpleX Chat security was audited by Trail of Bits.</source>
|
||||
<target>SimpleX Chat 的安全性 由 Trail of Bits 审核。</target>
|
||||
@@ -8354,6 +8362,10 @@ Repeat connection request?</source>
|
||||
<target>已接受通话</target>
|
||||
<note>call status</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="accepted invitation" xml:space="preserve">
|
||||
<source>accepted invitation</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="admin" xml:space="preserve">
|
||||
<source>admin</source>
|
||||
<target>管理员</target>
|
||||
@@ -8542,7 +8554,7 @@ Repeat connection request?</source>
|
||||
<trans-unit id="connecting…" xml:space="preserve">
|
||||
<source>connecting…</source>
|
||||
<target>连接中……</target>
|
||||
<note>chat list item title</note>
|
||||
<note>No comment provided by engineer.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="connection established" xml:space="preserve">
|
||||
<source>connection established</source>
|
||||
@@ -9035,6 +9047,10 @@ Repeat connection request?</source>
|
||||
<target>已将您移除</target>
|
||||
<note>rcv group event chat item</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="requested to connect" xml:space="preserve">
|
||||
<source>requested to connect</source>
|
||||
<note>chat list item title</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="saved" xml:space="preserve">
|
||||
<source>saved</source>
|
||||
<target>已保存</target>
|
||||
|
||||
@@ -167,9 +167,9 @@
|
||||
648010AB281ADD15009009B9 /* CIFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648010AA281ADD15009009B9 /* CIFileView.swift */; };
|
||||
648679AB2BC96A74006456E7 /* ChatItemForwardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648679AA2BC96A74006456E7 /* ChatItemForwardingView.swift */; };
|
||||
649B28DD2CFE07CF00536B68 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28D82CFE07CF00536B68 /* libffi.a */; };
|
||||
649B28DE2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a */; };
|
||||
649B28DE2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a */; };
|
||||
649B28DF2CFE07CF00536B68 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28DA2CFE07CF00536B68 /* libgmpxx.a */; };
|
||||
649B28E02CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a */; };
|
||||
649B28E02CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a */; };
|
||||
649B28E12CFE07CF00536B68 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 649B28DC2CFE07CF00536B68 /* libgmp.a */; };
|
||||
649BCDA0280460FD00C3A862 /* ComposeImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649BCD9F280460FD00C3A862 /* ComposeImageView.swift */; };
|
||||
649BCDA22805D6EF00C3A862 /* CIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649BCDA12805D6EF00C3A862 /* CIImageView.swift */; };
|
||||
@@ -516,9 +516,9 @@
|
||||
648679AA2BC96A74006456E7 /* ChatItemForwardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatItemForwardingView.swift; sourceTree = "<group>"; };
|
||||
6493D667280ED77F007A76FB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
649B28D82CFE07CF00536B68 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = "<group>"; };
|
||||
649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a"; sourceTree = "<group>"; };
|
||||
649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a"; sourceTree = "<group>"; };
|
||||
649B28DA2CFE07CF00536B68 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = "<group>"; };
|
||||
649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a"; sourceTree = "<group>"; };
|
||||
649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a"; sourceTree = "<group>"; };
|
||||
649B28DC2CFE07CF00536B68 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = "<group>"; };
|
||||
649BCD9F280460FD00C3A862 /* ComposeImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposeImageView.swift; sourceTree = "<group>"; };
|
||||
649BCDA12805D6EF00C3A862 /* CIImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIImageView.swift; sourceTree = "<group>"; };
|
||||
@@ -671,9 +671,9 @@
|
||||
5CE2BA93284534B000EC33A6 /* libiconv.tbd in Frameworks */,
|
||||
649B28E12CFE07CF00536B68 /* libgmp.a in Frameworks */,
|
||||
5CE2BA94284534BB00EC33A6 /* libz.tbd in Frameworks */,
|
||||
649B28E02CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a in Frameworks */,
|
||||
649B28E02CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a in Frameworks */,
|
||||
CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */,
|
||||
649B28DE2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a in Frameworks */,
|
||||
649B28DE2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a in Frameworks */,
|
||||
649B28DD2CFE07CF00536B68 /* libffi.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -754,8 +754,8 @@
|
||||
649B28D82CFE07CF00536B68 /* libffi.a */,
|
||||
649B28DC2CFE07CF00536B68 /* libgmp.a */,
|
||||
649B28DA2CFE07CF00536B68 /* libgmpxx.a */,
|
||||
649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo-ghc9.6.3.a */,
|
||||
649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.6-5lGV6gtq9gSDlEsE8DHXYo.a */,
|
||||
649B28D92CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E-ghc9.6.3.a */,
|
||||
649B28DB2CFE07CF00536B68 /* libHSsimplex-chat-6.2.0.7-3p784Fmu4gOAiEiFcsHj1E.a */,
|
||||
);
|
||||
path = Libraries;
|
||||
sourceTree = "<group>";
|
||||
@@ -1931,7 +1931,7 @@
|
||||
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_BITCODE = NO;
|
||||
@@ -1980,7 +1980,7 @@
|
||||
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_BITCODE = NO;
|
||||
@@ -2021,7 +2021,7 @@
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
@@ -2041,7 +2041,7 @@
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
@@ -2066,7 +2066,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_BITCODE = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
@@ -2103,7 +2103,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_CODE_COVERAGE = NO;
|
||||
@@ -2140,7 +2140,7 @@
|
||||
CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES;
|
||||
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
@@ -2191,7 +2191,7 @@
|
||||
CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES;
|
||||
CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
@@ -2242,7 +2242,7 @@
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
@@ -2276,7 +2276,7 @@
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 253;
|
||||
CURRENT_PROJECT_VERSION = 254;
|
||||
DEVELOPMENT_TEAM = 5NN7GUYB6T;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
|
||||
@@ -1212,13 +1212,12 @@ public enum ServerProtocol: String, Decodable {
|
||||
public enum OperatorTag: String, Codable {
|
||||
case simplex = "simplex"
|
||||
case flux = "flux"
|
||||
case xyz = "xyz"
|
||||
case demo = "demo"
|
||||
}
|
||||
|
||||
public struct ServerOperatorInfo: Decodable {
|
||||
public struct ServerOperatorInfo {
|
||||
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 largeLogo: String
|
||||
public var logoDarkMode: String
|
||||
@@ -1228,10 +1227,10 @@ public struct ServerOperatorInfo: Decodable {
|
||||
public let operatorsInfo: Dictionary<OperatorTag, ServerOperatorInfo> = [
|
||||
.simplex: ServerOperatorInfo(
|
||||
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."
|
||||
],
|
||||
website: "https://simplex.chat",
|
||||
website: URL(string: "https://simplex.chat")!,
|
||||
logo: "decentralized",
|
||||
largeLogo: "logo",
|
||||
logoDarkMode: "decentralized-light",
|
||||
@@ -1239,31 +1238,17 @@ public let operatorsInfo: Dictionary<OperatorTag, ServerOperatorInfo> = [
|
||||
),
|
||||
.flux: ServerOperatorInfo(
|
||||
description: [
|
||||
"Flux is the largest decentralized cloud infrastructure, leveraging a global network of user-operated computational 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 is the largest decentralized cloud, based on a global network of user-operated nodes.",
|
||||
"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",
|
||||
largeLogo: "flux_logo",
|
||||
logoDarkMode: "flux_logo_symbol",
|
||||
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 {
|
||||
@@ -1358,7 +1343,7 @@ public struct ServerOperator: Identifiable, Equatable, Codable {
|
||||
|
||||
public static let dummyOperatorInfo = ServerOperatorInfo(
|
||||
description: ["Default"],
|
||||
website: "Default",
|
||||
website: URL(string: "https://simplex.chat")!,
|
||||
logo: "decentralized",
|
||||
largeLogo: "logo",
|
||||
logoDarkMode: "decentralized-light",
|
||||
@@ -1384,30 +1369,6 @@ public struct ServerOperator: Identifiable, Equatable, Codable {
|
||||
smpRoles: 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 {
|
||||
@@ -2725,7 +2686,7 @@ public struct AppSettings: Codable, Equatable {
|
||||
uiDarkColorScheme: DefaultTheme.SIMPLEX.themeName,
|
||||
uiCurrentThemeIds: nil as [String: String]?,
|
||||
uiThemes: nil as [ThemeOverrides]?,
|
||||
oneHandUI: false,
|
||||
oneHandUI: true,
|
||||
chatBottomBar: true
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1782,9 +1782,11 @@ public struct PendingContactConnection: Decodable, NamedChat, Hashable {
|
||||
public var displayName: String {
|
||||
get {
|
||||
if let initiated = pccConnStatus.initiated {
|
||||
return initiated && !viaContactUri
|
||||
return viaContactUri
|
||||
? NSLocalizedString("requested to connect", comment: "chat list item title")
|
||||
: initiated
|
||||
? NSLocalizedString("invited to connect", comment: "chat list item title")
|
||||
: NSLocalizedString("connecting…", comment: "chat list item title")
|
||||
: NSLocalizedString("accepted invitation", comment: "chat list item title")
|
||||
} else {
|
||||
// this should not be in the list
|
||||
return NSLocalizedString("connection established", comment: "chat list item title (it should not be shown")
|
||||
|
||||
@@ -918,7 +918,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Свързване с настолно устройство";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "свързване…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3139,7 +3139,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Запази (и уведоми контактите)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Запази и уведоми контакта";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3157,7 +3157,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Запази паролата в Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Запази настройките?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -729,7 +729,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting server… (error: %@)" = "Připojování k serveru... (chyba: %@)";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "připojení…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2538,7 +2538,7 @@
|
||||
/* alert button */
|
||||
"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";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2556,7 +2556,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Uložit přístupovou frázi do Klíčenky";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Uložit předvolby?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -343,6 +343,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Abort changing address?" = "Wechsel der Empfängeradresse beenden?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About operators" = "Über Betreiber";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "Über SimpleX Chat";
|
||||
|
||||
@@ -376,6 +379,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Accepted conditions" = "Akzeptierte Nutzungsbedingungen";
|
||||
|
||||
/* chat list item title */
|
||||
"accepted invitation" = "Einladung akzeptiert";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Acknowledged" = "Bestätigt";
|
||||
|
||||
@@ -388,6 +394,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Add address to your profile, so that your contacts can share it with other people. Profile update will be sent to your contacts." = "Fügen Sie die Adresse Ihrem Profil hinzu, damit Ihre Kontakte sie mit anderen Personen teilen können. Es wird eine Profilaktualisierung an Ihre Kontakte gesendet.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add friends" = "Freunde aufnehmen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add profile" = "Profil hinzufügen";
|
||||
|
||||
@@ -397,12 +406,18 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Add servers by scanning QR codes." = "Fügen Sie Server durch Scannen der QR Codes hinzu.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add team members" = "Team-Mitglieder aufnehmen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add to another device" = "Einem anderen Gerät hinzufügen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add welcome message" = "Begrüßungsmeldung hinzufügen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add your team members to the conversations." = "Nehmen Sie Team-Mitglieder in Ihre Unterhaltungen auf.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Added media & file servers" = "Medien- und Dateiserver hinzugefügt";
|
||||
|
||||
@@ -464,7 +479,7 @@
|
||||
"All data is erased when it is entered." = "Alle Daten werden gelöscht, sobald dieser eingegeben wird.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Alle Daten werden nur auf Ihrem Gerät gespeichert.";
|
||||
"All data is kept private on your device." = "Alle Daten werden nur auf Ihrem Gerät gespeichert.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Alle Gruppenmitglieder bleiben verbunden.";
|
||||
@@ -793,6 +808,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Bulgarian, Finnish, Thai and Ukrainian - thanks to the users and [Weblate](https://github.com/simplex-chat/simplex-chat/tree/stable#help-translating-simplex-chat)!" = "Bulgarisch, Finnisch, Thailändisch und Ukrainisch - Dank der Nutzer und [Weblate](https://github.com/simplex-chat/simplex-chat/tree/stable#help-translating-simplex-chat)!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Business address" = "Geschäftliche Adresse";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Business chats" = "Geschäftliche Chats";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"By chat profile (default) or [by connection](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA)." = "Per Chat-Profil (Voreinstellung) oder [per Verbindung](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA).";
|
||||
|
||||
@@ -863,6 +884,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Ändern";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Chat-Profile wechseln";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Datenbank-Passwort ändern?";
|
||||
|
||||
@@ -891,9 +915,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Selbstzerstörungs-Zugangscode ändern";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Chat-Profile wechseln";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "Wechselte die Empfängeradresse von Ihnen";
|
||||
|
||||
@@ -909,6 +930,15 @@
|
||||
/* chat item text */
|
||||
"changing address…" = "Wechsel der Empfängeradresse wurde gestartet…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat" = "Chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat already exists" = "Chat besteht bereits";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat already exists!" = "Chat besteht bereits!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat colors" = "Chat-Farben";
|
||||
|
||||
@@ -954,6 +984,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Chat theme" = "Chat-Design";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat will be deleted for all members - this cannot be undone!" = "Der Chat wird für alle Mitglieder gelöscht. Dies kann nicht rückgängig gemacht werden!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat will be deleted for you - this cannot be undone!" = "Der Chat wird für Sie gelöscht. Dies kann nicht rückgängig gemacht werden!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chats" = "Chats";
|
||||
|
||||
@@ -1030,7 +1066,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Nutzungsbedingungen";
|
||||
@@ -1173,7 +1209,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Mit dem Desktop verbinden";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "Verbinde…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -1475,12 +1511,18 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Delete and notify contact" = "Kontakt löschen und benachrichtigen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat" = "Chat löschen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat profile" = "Chat-Profil löschen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat profile?" = "Chat-Profil löschen?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat?" = "Chat löschen?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete connection" = "Verbindung löschen";
|
||||
|
||||
@@ -1655,6 +1697,9 @@
|
||||
/* chat feature */
|
||||
"Direct messages" = "Direkte Nachrichten";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Direct messages between members are prohibited in this chat." = "In diesem Chat sind Direktnachrichten zwischen Mitgliedern nicht erlaubt.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Direct messages between members are prohibited." = "In dieser Gruppe sind Direktnachrichten zwischen Mitgliedern nicht erlaubt.";
|
||||
|
||||
@@ -2694,6 +2739,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Invite members" = "Mitglieder einladen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Invite to chat" = "Zum Chat einladen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Invite to group" = "In Gruppe einladen";
|
||||
|
||||
@@ -2808,6 +2856,12 @@
|
||||
/* swipe action */
|
||||
"Leave" = "Verlassen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave chat" = "Chat verlassen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave chat?" = "Chat verlassen?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave group" = "Gruppe verlassen";
|
||||
|
||||
@@ -2904,12 +2958,18 @@
|
||||
/* item status text */
|
||||
"Member inactive" = "Mitglied inaktiv";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". All chat members will be notified." = "Die Rolle des Mitglieds wird auf \"%@\" geändert. Alle Chat-Mitglieder werden darüber informiert.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". All group members will be notified." = "Die Mitgliederrolle wird auf \"%@\" geändert. Alle Mitglieder der Gruppe werden benachrichtigt.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". The member will receive a new invitation." = "Die Mitgliederrolle wird auf \"%@\" geändert. Das Mitglied wird eine neue Einladung erhalten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member will be removed from chat - this cannot be undone!" = "Das Mitglied wird aus dem Chat entfernt. Dies kann nicht rückgängig gemacht werden!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member will be removed from group - this cannot be undone!" = "Das Mitglied wird aus der Gruppe entfernt. Dies kann nicht rückgängig gemacht werden!";
|
||||
|
||||
@@ -3329,6 +3389,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Onion hosts will not be used." = "Onion-Hosts werden nicht verwendet.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Only chat owners can change preferences." = "Nur Chat-Eigentümer können die Präferenzen ändern.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Only client devices store user profiles, contacts, groups, and messages." = "Nur die Endgeräte speichern die Benutzerprofile, Kontakte, Gruppen und Nachrichten, welche über eine **2-Schichten Ende-zu-Ende-Verschlüsselung** gesendet werden.";
|
||||
|
||||
@@ -3407,6 +3470,9 @@
|
||||
/* alert title */
|
||||
"Operator server" = "Betreiber-Server";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Or import archive file" = "Oder importieren Sie eine Archiv-Datei";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Or paste archive link" = "Oder fügen Sie den Archiv-Link ein";
|
||||
|
||||
@@ -3575,6 +3641,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy & security" = "Datenschutz & Sicherheit";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy for your customers." = "Schutz der Privatsphäre Ihrer Kunden.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy redefined" = "Datenschutz neu definiert";
|
||||
|
||||
@@ -3867,6 +3936,9 @@
|
||||
/* chat item action */
|
||||
"Reply" = "Antwort";
|
||||
|
||||
/* chat list item title */
|
||||
"requested to connect" = "Zur Verbindung aufgefordert";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Required" = "Erforderlich";
|
||||
|
||||
@@ -3945,12 +4017,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Sicherere Gruppen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Dieselben Nutzungsbedingungen gelten auch für den Betreiber **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Dieselben Nutzungsbedingungen gelten auch für den/die Betreiber: **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Speichern";
|
||||
@@ -3958,7 +4024,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Speichern (und Kontakte benachrichtigen)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Speichern und Kontakt benachrichtigen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3979,7 +4045,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Passwort im Schlüsselbund speichern";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Präferenzen speichern?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4397,6 +4463,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"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. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "Die Sicherheit von SimpleX Chat wurde von Trail of Bits überprüft.";
|
||||
|
||||
@@ -4577,6 +4646,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Tap button " = "Schaltfläche antippen ";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap Create SimpleX address in the menu to create it later." = "Tippen Sie im Menü auf SimpleX-Adresse erstellen, um sie später zu erstellen.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap to activate profile." = "Zum Aktivieren des Profils tippen.";
|
||||
|
||||
@@ -4691,6 +4763,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "Das Profil wird nur mit Ihren Kontakten geteilt.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Dieselben Nutzungsbedingungen gelten auch für den Betreiber **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Dieselben Nutzungsbedingungen gelten auch für den/die Betreiber: **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "Der zweite voreingestellte Netzwerk-Betreiber in der App!";
|
||||
|
||||
@@ -4701,10 +4779,10 @@
|
||||
"The sender will NOT be notified" = "Der Absender wird NICHT benachrichtigt";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The servers for new connections of your current chat profile **%@**." = "Mögliche Server für neue Verbindungen von Ihrem aktuellen Chat-Profil **%@**.";
|
||||
"The servers for new connections of your current chat profile **%@**." = "Nachrichten-Server für neue Verbindungen über Ihr aktuelles Chat-Profil **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The servers for new files of your current chat profile **%@**." = "Die Server Deines aktuellen Chat-Profils für neue Dateien **%@**.";
|
||||
"The servers for new files of your current chat profile **%@**." = "Medien- und Datei-Server für neue Daten über Ihr aktuelles Chat-Profil **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The text you pasted is not a SimpleX link." = "Der von Ihnen eingefügte Text ist kein SimpleX-Link.";
|
||||
@@ -5279,6 +5357,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connected to %@." = "Sie sind bereits mit %@ verbunden.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connected with %@." = "Sie sind bereits mit %@ verbunden.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connecting to %@." = "Sie sind bereits mit %@ verbunden.";
|
||||
|
||||
@@ -5477,6 +5558,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"You will still receive calls and notifications from muted profiles when they are active." = "Sie können Anrufe und Benachrichtigungen auch von stummgeschalteten Profilen empfangen, solange diese aktiv sind.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You will stop receiving messages from this chat. Chat history will be preserved." = "Sie werden von diesem Chat keine Nachrichten mehr erhalten. Der Nachrichtenverlauf wird beibehalten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You will stop receiving messages from this group. Chat history will be preserved." = "Sie werden von dieser Gruppe keine Nachrichten mehr erhalten. Der Nachrichtenverlauf wird beibehalten.";
|
||||
|
||||
|
||||
@@ -343,6 +343,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Abort changing address?" = "¿Cancelar el cambio de servidor?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About operators" = "Acerca de los operadores";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "Sobre SimpleX Chat";
|
||||
|
||||
@@ -376,6 +379,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Accepted conditions" = "Condiciones aceptadas";
|
||||
|
||||
/* chat list item title */
|
||||
"accepted invitation" = "invitación aceptada";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Acknowledged" = "Confirmaciones";
|
||||
|
||||
@@ -388,6 +394,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Add address to your profile, so that your contacts can share it with other people. Profile update will be sent to your contacts." = "Añade la dirección a tu perfil para que tus contactos puedan compartirla con otros. La actualización del perfil se enviará a tus contactos.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add friends" = "Añadir amigos";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add profile" = "Añadir perfil";
|
||||
|
||||
@@ -397,12 +406,18 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Add servers by scanning QR codes." = "Añadir servidores mediante el escaneo de códigos QR.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add team members" = "Añadir miembros del equipo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add to another device" = "Añadir a otro dispositivo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add welcome message" = "Añadir mensaje de bienvenida";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Add your team members to the conversations." = "Añade a los miembros de tu equipo a las conversaciones.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Added media & file servers" = "Servidores de archivos y multimedia añadidos";
|
||||
|
||||
@@ -464,7 +479,7 @@
|
||||
"All data is erased when it is entered." = "Al introducirlo todos los datos son eliminados.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Todos los datos son privados y están en tu dispositivo.";
|
||||
"All data is kept private on your device." = "Todos los datos son privados y están en tu dispositivo.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Todos los miembros del grupo permanecerán conectados.";
|
||||
@@ -793,6 +808,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Bulgarian, Finnish, Thai and Ukrainian - thanks to the users and [Weblate](https://github.com/simplex-chat/simplex-chat/tree/stable#help-translating-simplex-chat)!" = "Búlgaro, Finlandés, Tailandés y Ucraniano - gracias a los usuarios y [Weblate](https://github.com/simplex-chat/simplex-chat/tree/stable#help-translating-simplex-chat)!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Business address" = "Dirección empresarial";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Business chats" = "Chats empresariales";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"By chat profile (default) or [by connection](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA)." = "Mediante perfil (predeterminado) o [por conexión](https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation) (BETA).";
|
||||
|
||||
@@ -863,6 +884,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Cambiar";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Cambiar perfil de usuario";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "¿Cambiar contraseña de la base de datos?";
|
||||
|
||||
@@ -891,9 +915,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Cambiar código autodestrucción";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Cambiar perfil de usuario";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "ha cambiado tu servidor de envío";
|
||||
|
||||
@@ -909,6 +930,15 @@
|
||||
/* chat item text */
|
||||
"changing address…" = "cambiando de servidor…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat" = "Chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat already exists" = "El chat ya existe";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat already exists!" = "¡El chat ya existe!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat colors" = "Colores del chat";
|
||||
|
||||
@@ -954,6 +984,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Chat theme" = "Tema de chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat will be deleted for all members - this cannot be undone!" = "El chat será eliminado para todos los miembros. ¡No podrá deshacerse!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chat will be deleted for you - this cannot be undone!" = "El chat será eliminado para tí. ¡No podrá deshacerse!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Chats" = "Chats";
|
||||
|
||||
@@ -1030,7 +1066,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Las condiciones se han aceptado para el(los) operador(s): **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Condiciones de uso";
|
||||
@@ -1173,7 +1209,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Conectando con ordenador";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "conectando…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -1475,12 +1511,18 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Delete and notify contact" = "Eliminar y notificar contacto";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat" = "Eliminar chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat profile" = "Eliminar perfil";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat profile?" = "¿Eliminar perfil?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete chat?" = "¿Eliminar chat?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete connection" = "Eliminar conexión";
|
||||
|
||||
@@ -1500,7 +1542,7 @@
|
||||
"Delete file" = "Eliminar archivo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete files and media?" = "Eliminar archivos y multimedia?";
|
||||
"Delete files and media?" = "¿Eliminar archivos y multimedia?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Delete files for all chat profiles" = "Eliminar archivos de todos los perfiles";
|
||||
@@ -1655,6 +1697,9 @@
|
||||
/* chat feature */
|
||||
"Direct messages" = "Mensajes directos";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Direct messages between members are prohibited in this chat." = "Mensajes directos no permitidos entre miembros de este chat.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Direct messages between members are prohibited." = "Los mensajes directos entre miembros del grupo no están permitidos.";
|
||||
|
||||
@@ -1798,7 +1843,7 @@
|
||||
"Enable camera access" = "Permitir acceso a la cámara";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Enable Flux" = "Habilitar Flux";
|
||||
"Enable Flux" = "Habilita Flux";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Enable for all" = "Activar para todos";
|
||||
@@ -2296,7 +2341,7 @@
|
||||
"Fix not supported by group member" = "Corrección no compatible con miembro del grupo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"for better metadata privacy." = "para mayor privacidad de los metadatos.";
|
||||
"for better metadata privacy." = "para mejorar la privacidad de los metadatos.";
|
||||
|
||||
/* servers error */
|
||||
"For chat profile %@:" = "Para el perfil de chat %@:";
|
||||
@@ -2694,6 +2739,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Invite members" = "Invitar miembros";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Invite to chat" = "Invitar al chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Invite to group" = "Invitar al grupo";
|
||||
|
||||
@@ -2808,6 +2856,12 @@
|
||||
/* swipe action */
|
||||
"Leave" = "Salir";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave chat" = "Salir del chat";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave chat?" = "¿Salir del chat?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Leave group" = "Salir del grupo";
|
||||
|
||||
@@ -2904,12 +2958,18 @@
|
||||
/* item status text */
|
||||
"Member inactive" = "Miembro inactivo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". All chat members will be notified." = "El rol del miembro cambiará a \"%@\" y todos serán notificados.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". All group members will be notified." = "El rol del miembro cambiará a \"%@\" y se notificará al grupo.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member role will be changed to \"%@\". The member will receive a new invitation." = "El rol del miembro cambiará a \"%@\" y recibirá una invitación nueva.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member will be removed from chat - this cannot be undone!" = "El miembro será eliminado del chat. ¡No podrá deshacerse!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Member will be removed from group - this cannot be undone!" = "El miembro será expulsado del grupo. ¡No podrá deshacerse!";
|
||||
|
||||
@@ -3329,6 +3389,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Onion hosts will not be used." = "No se usarán hosts .onion.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Only chat owners can change preferences." = "Sólo los propietarios del chat pueden cambiar las preferencias.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Only client devices store user profiles, contacts, groups, and messages." = "Sólo los dispositivos cliente almacenan perfiles de usuario, contactos, grupos y mensajes enviados con **cifrado de extremo a extremo de 2 capas**.";
|
||||
|
||||
@@ -3407,6 +3470,9 @@
|
||||
/* alert title */
|
||||
"Operator server" = "Servidor del operador";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Or import archive file" = "O importa desde un archivo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Or paste archive link" = "O pegar enlace del archivo";
|
||||
|
||||
@@ -3561,7 +3627,7 @@
|
||||
"Preserve the last message draft, with attachments." = "Conserva el último borrador del mensaje con los datos adjuntos.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Preset server address" = "Dirección del servidor predefinida";
|
||||
"Preset server address" = "Dirección predefinida del servidor";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Preset servers" = "Servidores predefinidos";
|
||||
@@ -3575,6 +3641,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy & security" = "Seguridad y Privacidad";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy for your customers." = "Privacidad para tus clientes.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Privacy redefined" = "Privacidad redefinida";
|
||||
|
||||
@@ -3693,7 +3762,7 @@
|
||||
"Read" = "Leer";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Read more" = "Conoce más";
|
||||
"Read more" = "Saber más";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Read more in [User Guide](https://simplex.chat/docs/guide/chat-profiles.html#incognito-mode)." = "Conoce más en la [Guía del Usuario](https://simplex.chat/docs/guide/chat-profiles.html#incognito-mode).";
|
||||
@@ -3867,6 +3936,9 @@
|
||||
/* chat item action */
|
||||
"Reply" = "Responder";
|
||||
|
||||
/* chat list item title */
|
||||
"requested to connect" = "solicitado para conectar";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Required" = "Obligatorio";
|
||||
|
||||
@@ -3945,12 +4017,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Grupos más seguros";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Las mismas condiciones se aplicarán al operador **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Las mismas condiciones se aplicarán a el/los operador(es) **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Guardar";
|
||||
@@ -3958,7 +4024,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Guardar (y notificar contactos)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Guardar y notificar contacto";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3979,7 +4045,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Guardar la contraseña en Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "¿Guardar preferencias?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4344,7 +4410,7 @@
|
||||
"Share profile" = "Comparte perfil";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Share SimpleX address on social media." = "Compartir dirección SimpleX en redes sociales.";
|
||||
"Share SimpleX address on social media." = "Comparte tu dirección SimpleX en redes sociales.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Share this 1-time invite link" = "Comparte este enlace de un solo uso";
|
||||
@@ -4392,10 +4458,13 @@
|
||||
"SimpleX Address" = "Dirección SimpleX";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX address and 1-time links are safe to share via any messenger." = "Compartir enlaces de un uso y direcciones SimpleX es seguro a través de cualquier medio.";
|
||||
"SimpleX address and 1-time links are safe to share via any messenger." = "Compartir los enlaces de un uso y las direcciones SimpleX es seguro a través de cualquier medio.";
|
||||
|
||||
/* 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. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.";
|
||||
@@ -4577,6 +4646,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Tap button " = "Pulsa el botón ";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap Create SimpleX address in the menu to create it later." = "Pulsa Crear dirección SimpleX en el menú para crearla más tarde.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap to activate profile." = "Pulsa sobre un perfil para activarlo.";
|
||||
|
||||
@@ -4692,7 +4764,13 @@
|
||||
"The profile is only shared with your contacts." = "El perfil sólo se comparte con tus contactos.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "El segundo operador predefinido!";
|
||||
"The same conditions will apply to operator **%@**." = "Las mismas condiciones se aplicarán al operador **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Las mismas condiciones se aplicarán a el/los operador(es) **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "¡Segundo operador predefinido!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second tick we missed! ✅" = "¡El doble check que nos faltaba! ✅";
|
||||
@@ -4701,7 +4779,7 @@
|
||||
"The sender will NOT be notified" = "El remitente NO será notificado";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The servers for new connections of your current chat profile **%@**." = "Lista de servidores para las conexiones nuevas de tu perfil actual **%@**.";
|
||||
"The servers for new connections of your current chat profile **%@**." = "Lista de servidores para las conexiones nuevas del perfil **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The servers for new files of your current chat profile **%@**." = "Los servidores para archivos nuevos en tu perfil actual **%@**.";
|
||||
@@ -5277,7 +5355,10 @@
|
||||
"You already have a chat profile with the same display name. Please choose another name." = "Ya tienes un perfil con este nombre mostrado. Por favor, elige otro nombre.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connected to %@." = "Ya estás conectado a %@.";
|
||||
"You are already connected to %@." = "Ya estás conectado con %@.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connected with %@." = "Ya estás conectado con %@.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already connecting to %@." = "Ya estás conectando con %@.";
|
||||
@@ -5477,6 +5558,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"You will still receive calls and notifications from muted profiles when they are active." = "Seguirás recibiendo llamadas y notificaciones de los perfiles silenciados cuando estén activos.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You will stop receiving messages from this chat. Chat history will be preserved." = "Dejarás de recibir mensajes de este chat. El historial del chat se conserva.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You will stop receiving messages from this group. Chat history will be preserved." = "Dejarás de recibir mensajes de este grupo. El historial del chat se conservará.";
|
||||
|
||||
|
||||
@@ -711,7 +711,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting server… (error: %@)" = "Yhteyden muodostaminen palvelimeen... (virhe: %@)";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "yhdistää…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2508,7 +2508,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Tallenna (ja ilmoita kontakteille)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Tallenna ja ilmoita kontaktille";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2526,7 +2526,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Tallenna tunnuslause Avainnippuun";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Tallenna asetukset?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
"All data is erased when it is entered." = "Toutes les données sont effacées lorsqu'il est saisi.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Toutes les données restent confinées dans votre appareil.";
|
||||
"All data is kept private on your device." = "Toutes les données restent confinées dans votre appareil.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Tous les membres du groupe resteront connectés.";
|
||||
@@ -1101,7 +1101,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Connexion au bureau";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "connexion…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3763,7 +3763,7 @@
|
||||
/* alert button */
|
||||
"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";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3784,7 +3784,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Enregistrer la phrase secrète dans la Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Enregistrer les préférences ?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -344,7 +344,10 @@
|
||||
"Abort changing address?" = "Címváltoztatás megszakítása??";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "A SimpleX Chatről";
|
||||
"About operators" = "Az üzemeltetőkről";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "SimpleX Chat névjegye";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"above, then choose:" = "gombra fent, majd válassza ki:";
|
||||
@@ -376,6 +379,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Accepted conditions" = "Elfogadott feltételek";
|
||||
|
||||
/* chat list item title */
|
||||
"accepted invitation" = "elfogadott meghívó";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Acknowledged" = "Nyugtázva";
|
||||
|
||||
@@ -473,7 +479,7 @@
|
||||
"All data is erased when it is entered." = "A jelkód megadása után az összes adat törlésre kerül.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Az összes adat biztonságban van az eszközén.";
|
||||
"All data is kept private on your device." = "Az összes adat biztonságban van az eszközén.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Az összes csoporttag kapcsolatban marad.";
|
||||
@@ -878,6 +884,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Változtatás";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Csevegési profilok megváltoztatása";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Adatbázis-jelmondat megváltoztatása?";
|
||||
|
||||
@@ -906,9 +915,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Önmegsemmisító jelkód megváltoztatása";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Felhasználói profilok megváltoztatása";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "cím megváltoztatva";
|
||||
|
||||
@@ -1060,7 +1066,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "A következő üzemeltető(k) számára elfogadott feltételek: **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Használati feltételek";
|
||||
@@ -1203,7 +1209,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Kapcsolódás a számítógéphez";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "kapcsolódás…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2344,7 +2350,7 @@
|
||||
"For console" = "Konzolhoz";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server." = "Ha például az ismerőse a SimpleX Chat kiszolgálón keresztül fogadja az üzeneteket, az Ön alkalmazása a Flux egyik kiszolgálóját használja a kézbesítéshez.";
|
||||
"For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server." = "Például, ha az Ön ismerőse egy SimpleX Chat-kiszolgálón keresztül fogadja az üzeneteket, az Ön alkalmazása egy Flux-kiszolgálón keresztül fogja azokat kézbesíteni.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"For private routing" = "A privát útválasztáshoz";
|
||||
@@ -3708,7 +3714,7 @@
|
||||
"Protect app screen" = "Alkalmazás képernyőjének védelme";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Protect IP address" = "IP-cím védelem";
|
||||
"Protect IP address" = "IP-cím védelme";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Protect your chat profiles with a password!" = "Védje meg a csevegési profiljait egy jelszóval!";
|
||||
@@ -3930,6 +3936,9 @@
|
||||
/* chat item action */
|
||||
"Reply" = "Válasz";
|
||||
|
||||
/* chat list item title */
|
||||
"requested to connect" = "kérelmezve a kapcsolódáshoz";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Required" = "Szükséges";
|
||||
|
||||
@@ -4008,12 +4017,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Biztonságosabb csoportok";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Ugyanezek a feltételek vonatkoznak a következő üzemeltetőre is: **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Ugyanezek a feltételek lesznek elfogadva a következő üzemeltető(k)re is: **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Mentés";
|
||||
@@ -4021,7 +4024,7 @@
|
||||
/* alert button */
|
||||
"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";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4042,7 +4045,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Jelmondat mentése a kulcstartóba";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Beállítások mentése?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4460,6 +4463,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX address or 1-time link?" = "SimpleX-cím vagy egyszer használható meghívó-hivatkozás?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "A SimpleX Chat és a Flux megállapodást kötött arról, hogy a Flux által üzemeltetett kiszolgálókat beépítik az alkalmazásba.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "A SimpleX Chat biztonsága a Trail of Bits által lett auditálva.";
|
||||
|
||||
@@ -4757,6 +4763,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "A profilja csak az ismerőseivel kerül megosztásra.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Ugyanezek a feltételek lesznek elfogadva a következő üzemeltetőre is: **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Ugyanezek a feltételek lesznek elfogadva a következő üzemeltető(k)re is: **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "A második előre beállított üzemeltető az alkalmazásban!";
|
||||
|
||||
@@ -5397,7 +5409,7 @@
|
||||
"You can configure operators in Network & servers settings." = "Az üzemeltetőket a „Hálózat és kiszolgálók” beállításaban konfigurálhatja.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can configure servers via settings." = "A kiszolgálókat a beállításokon keresztül konfigurálhatja.";
|
||||
"You can configure servers via settings." = "A kiszolgálókat a „Hálózat és kiszolgálók” menüben konfigurálhatja.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can create it later" = "Létrehozás később";
|
||||
@@ -5427,7 +5439,7 @@
|
||||
"You can set connection name, to remember who the link was shared with." = "Beállíthatja az ismerős nevét, hogy emlékezzen arra, hogy kivel osztotta meg a hivatkozást.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can set lock screen notification preview via settings." = "A beállításokon keresztül beállíthatja a lezárási képernyő értesítési előnézetét.";
|
||||
"You can set lock screen notification preview via settings." = "A lezárási képernyő értesítési előnézetét az „Értesítések” menüben állíthatja be.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can share a link or a QR code - anybody will be able to join the group. You won't lose members of the group if you later delete it." = "Megoszthat egy hivatkozást vagy QR-kódot - így bárki csatlakozhat a csoporthoz. Ha a csoport később törlésre kerül, akkor nem fogja elveszíteni annak tagjait.";
|
||||
|
||||
@@ -473,7 +473,7 @@
|
||||
"All data is erased when it is entered." = "Tutti i dati vengono cancellati quando inserito.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Tutti i dati sono privati, nel tuo dispositivo.";
|
||||
"All data is kept private on your device." = "Tutti i dati sono privati, nel tuo dispositivo.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Tutti i membri del gruppo resteranno connessi.";
|
||||
@@ -689,10 +689,10 @@
|
||||
"Auto-accept" = "Accetta automaticamente";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Auto-accept contact requests" = "Auto-accetta richieste di contatto";
|
||||
"Auto-accept contact requests" = "Auto-accetta le richieste di contatto";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Auto-accept images" = "Auto-accetta immagini";
|
||||
"Auto-accept images" = "Auto-accetta le immagini";
|
||||
|
||||
/* alert title */
|
||||
"Auto-accept settings" = "Accetta automaticamente le impostazioni";
|
||||
@@ -779,7 +779,7 @@
|
||||
"Blur for better privacy." = "Sfoca per una privacy maggiore.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Blur media" = "Sfocatura file multimediali";
|
||||
"Blur media" = "Sfocatura dei file multimediali";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"bold" = "grassetto";
|
||||
@@ -878,6 +878,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Cambia";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Modifica profili utente";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Cambiare password del database?";
|
||||
|
||||
@@ -906,9 +909,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Cambia codice di autodistruzione";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Modifica profili utente";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "indirizzo cambiato per te";
|
||||
|
||||
@@ -1060,7 +1060,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Le condizioni sono state accettate per gli operatori: **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Condizioni d'uso";
|
||||
@@ -1203,7 +1203,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Connessione al desktop";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "in connessione…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3004,7 +3004,7 @@
|
||||
"Message delivery warning" = "Avviso di consegna del messaggio";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Message draft" = "Bozza dei messaggi";
|
||||
"Message draft" = "Bozza del messaggio";
|
||||
|
||||
/* item status text */
|
||||
"Message forwarded" = "Messaggio inoltrato";
|
||||
@@ -3982,10 +3982,10 @@
|
||||
"Reveal" = "Rivela";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Review conditions" = "Esamina le condizioni";
|
||||
"Review conditions" = "Leggi le condizioni";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Review later" = "Esamina più tardi";
|
||||
"Review later" = "Leggi più tardi";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Revoke" = "Revoca";
|
||||
@@ -4008,12 +4008,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Gruppi più sicuri";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Le stesse condizioni si applicheranno all'operatore **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Le stesse condizioni si applicheranno agli operatori **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Salva";
|
||||
@@ -4021,7 +4015,7 @@
|
||||
/* alert button */
|
||||
"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";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4042,7 +4036,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Salva password nel portachiavi";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Salvare le preferenze?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4187,7 +4181,7 @@
|
||||
"Send errors" = "Errori di invio";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Send link previews" = "Invia anteprime dei link";
|
||||
"Send link previews" = "Invia le anteprime dei link";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Send live message" = "Invia messaggio in diretta";
|
||||
@@ -4407,7 +4401,7 @@
|
||||
"Share profile" = "Condividi il profilo";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Share SimpleX address on social media." = "Condividi indirizzo SimpleX sui social media.";
|
||||
"Share SimpleX address on social media." = "Condividi l'indirizzo SimpleX sui social media.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Share this 1-time invite link" = "Condividi questo link di invito una tantum";
|
||||
@@ -4460,6 +4454,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX address or 1-time link?" = "Indirizzo SimpleX o link una tantum?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX Chat and Flux made an agreement to include Flux-operated servers into the app." = "SimpleX Chat e Flux hanno concluso un accordo per includere server gestiti da Flux nell'app";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "La sicurezza di SimpleX Chat è stata verificata da Trail of Bits.";
|
||||
|
||||
@@ -4641,7 +4638,7 @@
|
||||
"Tap button " = "Tocca il pulsante ";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap Create SimpleX address in the menu to create it later." = "Tocca \"Crea indirizzo SimpleX\" nel menu per crearlo più tardi.";
|
||||
"Tap Create SimpleX address in the menu to create it later." = "Tocca Crea indirizzo SimpleX nel menu per crearlo più tardi.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Tap to activate profile." = "Tocca per attivare il profilo.";
|
||||
@@ -4757,6 +4754,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "Il profilo è condiviso solo con i tuoi contatti.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Le stesse condizioni si applicheranno all'operatore **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Le stesse condizioni si applicheranno agli operatori **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "Il secondo operatore preimpostato nell'app!";
|
||||
|
||||
|
||||
@@ -828,7 +828,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "デスクトップに接続中";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "接続待ち…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2655,7 +2655,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "保存(連絡先に通知)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "保存して、連絡先にに知らせる";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2673,7 +2673,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "パスフレーズをキーチェーンに保存";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "この設定でよろしいですか?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -343,6 +343,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Abort changing address?" = "Adres wijziging afbreken?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About operators" = "Over operatoren";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "Over SimpleX Chat";
|
||||
|
||||
@@ -376,6 +379,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Accepted conditions" = "Geaccepteerde voorwaarden";
|
||||
|
||||
/* chat list item title */
|
||||
"accepted invitation" = "geaccepteerde uitnodiging";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Acknowledged" = "Erkend";
|
||||
|
||||
@@ -473,7 +479,7 @@
|
||||
"All data is erased when it is entered." = "Alle gegevens worden bij het invoeren gewist.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Alle gegevens zijn privé op uw apparaat.";
|
||||
"All data is kept private on your device." = "Alle gegevens zijn privé op uw apparaat.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Alle groepsleden blijven verbonden.";
|
||||
@@ -878,6 +884,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Veranderen";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Gebruikersprofielen wijzigen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Wachtwoord database wijzigen?";
|
||||
|
||||
@@ -906,9 +915,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Zelfvernietigings code wijzigen";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Gebruikersprofielen wijzigen";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "adres voor u gewijzigd";
|
||||
|
||||
@@ -1060,7 +1066,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Voorwaarden worden geaccepteerd voor de operator(s): **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Gebruiksvoorwaarden";
|
||||
@@ -1203,7 +1209,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Verbinding maken met desktop";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "Verbinden…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3930,6 +3936,9 @@
|
||||
/* chat item action */
|
||||
"Reply" = "Antwoord";
|
||||
|
||||
/* chat list item title */
|
||||
"requested to connect" = "gevraagd om verbinding te maken";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Required" = "Vereist";
|
||||
|
||||
@@ -4008,12 +4017,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Veiligere groepen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Dezelfde voorwaarden gelden voor operator **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Dezelfde voorwaarden gelden voor operator(s): **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Opslaan";
|
||||
@@ -4021,7 +4024,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Bewaar (en informeer contacten)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Opslaan en Contact melden";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4042,7 +4045,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Sla het wachtwoord op in de Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Voorkeuren opslaan?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4460,6 +4463,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"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. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "De beveiliging van SimpleX Chat is gecontroleerd door Trail of Bits.";
|
||||
|
||||
@@ -4757,6 +4763,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "Het profiel wordt alleen gedeeld met uw contacten.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Dezelfde voorwaarden gelden voor operator **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Dezelfde voorwaarden gelden voor operator(s): **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "De tweede vooraf ingestelde operator in de app!";
|
||||
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
"All data is erased when it is entered." = "Wszystkie dane są usuwane po jego wprowadzeniu.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Wszystkie dane są prywatne na Twoim urządzeniu.";
|
||||
"All data is kept private on your device." = "Wszystkie dane są prywatne na Twoim urządzeniu.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Wszyscy członkowie grupy pozostaną połączeni.";
|
||||
@@ -1086,7 +1086,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Łączenie z komputerem";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "łączenie…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3736,7 +3736,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Zapisz (i powiadom kontakty)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Zapisz i powiadom kontakt";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3757,7 +3757,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Zapisz hasło w pęku kluczy";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Zapisać preferencje?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"**Recommended**: device token and end-to-end encrypted notifications are sent to SimpleX Chat push server, but it does not see the message content, size or who it is from." = "**Рекомендовано**: токен устройства и уведомления отправляются на сервер SimpleX Chat, но сервер не получает сами сообщения, их размер или от кого они.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"**Scan / Paste link**: to connect via a link you received." = "**Сканировать / Вставить ссылку**: чтобы соединится через полученную ссылку.";
|
||||
"**Scan / Paste link**: to connect via a link you received." = "**Сканировать / Вставить ссылку**: чтобы соединиться через полученную ссылку.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"**Warning**: Instant push notifications require passphrase saved in Keychain." = "**Внимание**: для работы мгновенных уведомлений пароль должен быть сохранен в Keychain.";
|
||||
@@ -343,6 +343,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Abort changing address?" = "Прекратить изменение адреса?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About operators" = "Об операторах";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"About SimpleX Chat" = "Информация о SimpleX Chat";
|
||||
|
||||
@@ -376,6 +379,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Accepted conditions" = "Принятые условия";
|
||||
|
||||
/* chat list item title */
|
||||
"accepted invitation" = "принятое приглашение";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Acknowledged" = "Подтверждено";
|
||||
|
||||
@@ -473,7 +479,7 @@
|
||||
"All data is erased when it is entered." = "Все данные удаляются при его вводе.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Все данные хранятся только на вашем устройстве.";
|
||||
"All data is kept private on your device." = "Все данные хранятся только на вашем устройстве.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Все члены группы, которые соединились через эту ссылку, останутся в группе.";
|
||||
@@ -878,6 +884,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Поменять";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Поменять профили";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Поменять пароль базы данных?";
|
||||
|
||||
@@ -906,9 +915,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Изменить код самоуничтожения";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Поменять профили";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "поменял(а) адрес для Вас";
|
||||
|
||||
@@ -1060,7 +1066,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Условия приняты для оператора(ов): **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Условия использования";
|
||||
@@ -1203,7 +1209,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Подключение к компьютеру";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "соединяется…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3714,7 +3720,7 @@
|
||||
"Protect your chat profiles with a password!" = "Защитите Ваши профили чата паролем!";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Protect your IP address from the messaging relays chosen by your contacts.\nEnable in *Network & servers* settings." = "Защитите ваш IP адрес от серверов сообщений, выбранных Вашими контактами.\nВключите в настройках *Сеть и серверы*.";
|
||||
"Protect your IP address from the messaging relays chosen by your contacts.\nEnable in *Network & servers* settings." = "Защитите ваш IP адрес от серверов сообщений, выбранных Вашими контактами.\nВключите в настройках *Сети и серверов*.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Protocol timeout" = "Таймаут протокола";
|
||||
@@ -3930,6 +3936,9 @@
|
||||
/* chat item action */
|
||||
"Reply" = "Ответить";
|
||||
|
||||
/* chat list item title */
|
||||
"requested to connect" = "запрошено соединение";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Required" = "Обязательно";
|
||||
|
||||
@@ -4008,12 +4017,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Более безопасные группы";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Те же самые условия будут приняты для оператора **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Те же самые условия будут приняты для оператора(ов): **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Сохранить";
|
||||
@@ -4021,7 +4024,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Сохранить (и уведомить контакты)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Сохранить и уведомить контакт";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4042,7 +4045,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Сохранить пароль в Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Сохранить предпочтения?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4460,6 +4463,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"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. */
|
||||
"SimpleX Chat security was audited by Trail of Bits." = "Безопасность SimpleX Chat была проверена Trail of Bits.";
|
||||
|
||||
@@ -4757,6 +4763,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "Профиль отправляется только Вашим контактам.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Те же самые условия будут приняты для оператора **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Те же самые условия будут приняты для оператора(ов): **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "Второй оператор серверов в приложении!";
|
||||
|
||||
@@ -5394,7 +5406,7 @@
|
||||
"You can change it in Appearance settings." = "Вы можете изменить это в настройках Интерфейса.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can configure operators in Network & servers settings." = "Вы можете настроить операторов в настройках Сеть и серверы.";
|
||||
"You can configure operators in Network & servers settings." = "Вы можете настроить операторов в настройках Сети и серверов.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You can configure servers via settings." = "Вы можете настроить серверы позже.";
|
||||
|
||||
@@ -681,7 +681,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting server… (error: %@)" = "กำลังเชื่อมต่อกับเซิร์ฟเวอร์... (ข้อผิดพลาด: %@)";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "กำลังเชื่อมต่อ…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2439,7 +2439,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "บันทึก (และแจ้งผู้ติดต่อ)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "บันทึกและแจ้งผู้ติดต่อ";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -2457,7 +2457,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "บันทึกข้อความรหัสผ่านใน Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "บันทึกการตั้งค่า?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
"All data is erased when it is entered." = "Kullanıldığında bütün veriler silinir.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Tüm veriler cihazınıza özeldir.";
|
||||
"All data is kept private on your device." = "Tüm veriler cihazınıza özeldir.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Tüm grup üyeleri bağlı kalacaktır.";
|
||||
@@ -1101,7 +1101,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Bilgisayara bağlanıyor";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "bağlanılıyor…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3763,7 +3763,7 @@
|
||||
/* alert button */
|
||||
"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";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3784,7 +3784,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Parolayı Anahtar Zincirinde kaydet";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Tercihler kaydedilsin mi?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
"All data is erased when it is entered." = "Всі дані стираються при введенні.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "Всі дані є приватними для вашого пристрою.";
|
||||
"All data is kept private on your device." = "Всі дані є приватними для вашого пристрою.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "Всі учасники групи залишаться на зв'язку.";
|
||||
@@ -863,6 +863,9 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Change" = "Зміна";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Зміна профілів користувачів";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Change database passphrase?" = "Змінити пароль до бази даних?";
|
||||
|
||||
@@ -891,9 +894,6 @@
|
||||
set passcode view */
|
||||
"Change self-destruct passcode" = "Змінити пароль самознищення";
|
||||
|
||||
/* authentication reason */
|
||||
"Change chat profiles" = "Зміна профілів користувачів";
|
||||
|
||||
/* chat item text */
|
||||
"changed address for you" = "змінили для вас адресу";
|
||||
|
||||
@@ -1030,7 +1030,7 @@
|
||||
"Conditions are accepted for the operator(s): **%@**." = "Для оператора(ів) приймаються умови: **%@**.";
|
||||
|
||||
/* 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. */
|
||||
"Conditions of use" = "Умови використання";
|
||||
@@ -1173,7 +1173,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "Підключення до ПК";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "з'єднання…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3668,9 +3668,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Proxy requires password" = "Проксі вимагає пароль";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Push notifications" = "Push-повідомлення";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Push notifications" = "Push-сповіщення";
|
||||
|
||||
@@ -3948,12 +3945,6 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Safer groups" = "Безпечніші групи";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Такі ж умови діятимуть і для оператора **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Такі ж умови будуть застосовуватися до оператора(ів): **%@**.";
|
||||
|
||||
/* alert button
|
||||
chat item action */
|
||||
"Save" = "Зберегти";
|
||||
@@ -3961,7 +3952,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "Зберегти (і повідомити контактам)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "Зберегти та повідомити контакт";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3982,7 +3973,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "Збережіть парольну фразу в Keychain";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "Зберегти настройки?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -4694,6 +4685,12 @@
|
||||
/* No comment provided by engineer. */
|
||||
"The profile is only shared with your contacts." = "Профіль доступний лише вашим контактам.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator **%@**." = "Такі ж умови діятимуть і для оператора **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The same conditions will apply to operator(s): **%@**." = "Такі ж умови будуть застосовуватися до оператора(ів): **%@**.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"The second preset operator in the app!" = "Другий попередньо встановлений оператор у застосунку!";
|
||||
|
||||
|
||||
@@ -413,7 +413,7 @@
|
||||
"All data is erased when it is entered." = "所有数据在输入后将被删除。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All data is private to your device." = "所有数据都是您设备的私有数据.";
|
||||
"All data is kept private on your device." = "所有数据都是您设备的私有数据.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"All group members will remain connected." = "所有群组成员将保持连接。";
|
||||
@@ -1059,7 +1059,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Connecting to desktop" = "正连接到桌面";
|
||||
|
||||
/* chat list item title */
|
||||
/* No comment provided by engineer. */
|
||||
"connecting…" = "连接中……";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3634,7 +3634,7 @@
|
||||
/* alert button */
|
||||
"Save (and notify contacts)" = "保存(并通知联系人)";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert button */
|
||||
"Save and notify contact" = "保存并通知联系人";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
@@ -3655,7 +3655,7 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Save passphrase in Keychain" = "在钥匙串中保存密码";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
/* alert title */
|
||||
"Save preferences?" = "保存偏好设置?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
|
||||
@@ -115,7 +115,6 @@
|
||||
android:launchMode="singleInstance"
|
||||
android:supportsPictureInPicture="true"
|
||||
android:autoRemoveFromRecents="true"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>
|
||||
|
||||
<provider
|
||||
|
||||
@@ -360,6 +360,8 @@ class SimplexApp: Application(), LifecycleEventObserver {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun androidCreateActiveCallState(): Closeable = ActiveCallState()
|
||||
|
||||
override val androidApiLevel: Int get() = Build.VERSION.SDK_INT
|
||||
}
|
||||
}
|
||||
|
||||
+6
-2
@@ -71,8 +71,12 @@ class PostSCallAudioDeviceManager: CallAudioDeviceManagerInterface {
|
||||
}
|
||||
|
||||
override fun stop() {
|
||||
am.unregisterAudioDeviceCallback(audioCallback)
|
||||
am.removeOnCommunicationDeviceChangedListener(listener)
|
||||
try {
|
||||
am.unregisterAudioDeviceCallback(audioCallback)
|
||||
am.removeOnCommunicationDeviceChangedListener(listener)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, e.stackTraceToString())
|
||||
}
|
||||
}
|
||||
|
||||
override fun selectLastExternalDeviceOrDefault(speaker: Boolean, keepAnyExternal: Boolean) {
|
||||
|
||||
+62
-51
@@ -6,12 +6,12 @@ import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.*
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.content.pm.PackageManager
|
||||
import android.media.*
|
||||
import android.os.Build
|
||||
import android.os.PowerManager
|
||||
import android.os.PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK
|
||||
import android.os.PowerManager.WakeLock
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.webkit.*
|
||||
@@ -23,7 +23,6 @@ import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.snapshots.SnapshotStateList
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -47,7 +46,6 @@ import chat.simplex.common.model.ChatController.appPrefs
|
||||
import chat.simplex.common.platform.*
|
||||
import chat.simplex.common.ui.theme.*
|
||||
import chat.simplex.common.views.helpers.*
|
||||
import chat.simplex.common.views.onboarding.OnboardingStage
|
||||
import chat.simplex.res.MR
|
||||
import com.google.accompanist.permissions.*
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
@@ -58,6 +56,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.filterNotNull
|
||||
import kotlinx.datetime.Clock
|
||||
import kotlinx.serialization.encodeToString
|
||||
import java.io.Closeable
|
||||
|
||||
// Should be destroy()'ed and set as null when call is ended. Otherwise, it will be a leak
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
@@ -72,49 +71,62 @@ fun activeCallDestroyWebView() = withApi {
|
||||
Log.d(TAG, "CallView: webview was destroyed")
|
||||
}
|
||||
|
||||
@SuppressLint("SourceLockedOrientationActivity")
|
||||
@Composable
|
||||
actual fun ActiveCallView() {
|
||||
val call = remember { chatModel.activeCall }.value
|
||||
val scope = rememberCoroutineScope()
|
||||
val proximityLock = remember {
|
||||
class ActiveCallState: Closeable {
|
||||
val proximityLock: WakeLock? = screenOffWakeLock()
|
||||
var wasConnected = false
|
||||
val callAudioDeviceManager = CallAudioDeviceManagerInterface.new()
|
||||
private var closed = false
|
||||
|
||||
init {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
callAudioDeviceManager.start()
|
||||
}
|
||||
}
|
||||
|
||||
override fun close() {
|
||||
if (closed) return
|
||||
closed = true
|
||||
CallSoundsPlayer.stop()
|
||||
if (wasConnected) {
|
||||
CallSoundsPlayer.vibrate()
|
||||
}
|
||||
callAudioDeviceManager.stop()
|
||||
dropAudioManagerOverrides()
|
||||
if (proximityLock?.isHeld == true) {
|
||||
proximityLock.release()
|
||||
}
|
||||
}
|
||||
|
||||
private fun screenOffWakeLock(): WakeLock? {
|
||||
val pm = (androidAppContext.getSystemService(Context.POWER_SERVICE) as PowerManager)
|
||||
if (pm.isWakeLockLevelSupported(PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
|
||||
return if (pm.isWakeLockLevelSupported(PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
|
||||
pm.newWakeLock(PROXIMITY_SCREEN_OFF_WAKE_LOCK, androidAppContext.packageName + ":proximityLock")
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
val wasConnected = rememberSaveable { mutableStateOf(false) }
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("SourceLockedOrientationActivity")
|
||||
@Composable
|
||||
actual fun ActiveCallView() {
|
||||
val call = remember { chatModel.activeCall }.value
|
||||
val callState = call?.androidCallState as ActiveCallState?
|
||||
val scope = rememberCoroutineScope()
|
||||
LaunchedEffect(call) {
|
||||
if (call?.callState == CallState.Connected && !wasConnected.value) {
|
||||
if (call?.callState == CallState.Connected && callState != null && !callState.wasConnected) {
|
||||
CallSoundsPlayer.vibrate(2)
|
||||
wasConnected.value = true
|
||||
callState.wasConnected = true
|
||||
}
|
||||
}
|
||||
val callAudioDeviceManager = remember { CallAudioDeviceManagerInterface.new() }
|
||||
DisposableEffect(Unit) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
callAudioDeviceManager.start()
|
||||
}
|
||||
onDispose {
|
||||
CallSoundsPlayer.stop()
|
||||
if (wasConnected.value) {
|
||||
CallSoundsPlayer.vibrate()
|
||||
}
|
||||
callAudioDeviceManager.stop()
|
||||
dropAudioManagerOverrides()
|
||||
if (proximityLock?.isHeld == true) {
|
||||
proximityLock.release()
|
||||
}
|
||||
}
|
||||
}
|
||||
LaunchedEffect(chatModel.activeCallViewIsCollapsed.value) {
|
||||
LaunchedEffect(callState, chatModel.activeCallViewIsCollapsed.value) {
|
||||
callState ?: return@LaunchedEffect
|
||||
if (chatModel.activeCallViewIsCollapsed.value) {
|
||||
if (proximityLock?.isHeld == true) proximityLock.release()
|
||||
if (callState.proximityLock?.isHeld == true) callState.proximityLock.release()
|
||||
} else {
|
||||
delay(1000)
|
||||
if (proximityLock?.isHeld == false) proximityLock.acquire()
|
||||
if (callState.proximityLock?.isHeld == false) callState.proximityLock.acquire()
|
||||
}
|
||||
}
|
||||
Box(Modifier.fillMaxSize()) {
|
||||
@@ -122,6 +134,7 @@ actual fun ActiveCallView() {
|
||||
Log.d(TAG, "received from WebRTCView: $apiMsg")
|
||||
val call = chatModel.activeCall.value
|
||||
if (call != null) {
|
||||
val callState = call.androidCallState as ActiveCallState
|
||||
Log.d(TAG, "has active call $call")
|
||||
val callRh = call.remoteHostId
|
||||
when (val r = apiMsg.resp) {
|
||||
@@ -131,9 +144,9 @@ actual fun ActiveCallView() {
|
||||
updateActiveCall(call) { it.copy(callState = CallState.InvitationSent, localCapabilities = r.capabilities) }
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
|
||||
// Starting is delayed to make Android <= 11 working good with Bluetooth
|
||||
callAudioDeviceManager.start()
|
||||
callState.callAudioDeviceManager.start()
|
||||
} else {
|
||||
callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
callState.callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
}
|
||||
CallSoundsPlayer.startConnectingCallSound(scope)
|
||||
activeCallWaitDeliveryReceipt(scope)
|
||||
@@ -143,9 +156,9 @@ actual fun ActiveCallView() {
|
||||
updateActiveCall(call) { it.copy(callState = CallState.OfferSent, localCapabilities = r.capabilities) }
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
|
||||
// Starting is delayed to make Android <= 11 working good with Bluetooth
|
||||
callAudioDeviceManager.start()
|
||||
callState.callAudioDeviceManager.start()
|
||||
} else {
|
||||
callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
callState.callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
}
|
||||
}
|
||||
is WCallResponse.Answer -> withBGApi {
|
||||
@@ -228,14 +241,14 @@ actual fun ActiveCallView() {
|
||||
!chatModel.activeCallViewIsCollapsed.value -> true
|
||||
else -> false
|
||||
}
|
||||
if (call != null && showOverlay) {
|
||||
ActiveCallOverlay(call, chatModel, callAudioDeviceManager)
|
||||
if (call != null && showOverlay && callState != null) {
|
||||
ActiveCallOverlay(call, chatModel, callState.callAudioDeviceManager)
|
||||
}
|
||||
}
|
||||
KeyChangeEffect(call?.localMediaSources?.hasVideo) {
|
||||
if (call != null && call.hasVideo && callAudioDeviceManager.currentDevice.value?.type == AudioDeviceInfo.TYPE_BUILTIN_EARPIECE) {
|
||||
KeyChangeEffect(callState, call?.localMediaSources?.hasVideo) {
|
||||
if (call != null && call.hasVideo && callState != null && callState.callAudioDeviceManager.currentDevice.value?.type == AudioDeviceInfo.TYPE_BUILTIN_EARPIECE) {
|
||||
// enabling speaker on user action (peer action ignored) and not disabling it again
|
||||
callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
callState.callAudioDeviceManager.selectLastExternalDeviceOrDefault(call.hasVideo, true)
|
||||
}
|
||||
}
|
||||
val context = LocalContext.current
|
||||
@@ -243,16 +256,12 @@ actual fun ActiveCallView() {
|
||||
val activity = context as? Activity ?: return@DisposableEffect onDispose {}
|
||||
val prevVolumeControlStream = activity.volumeControlStream
|
||||
activity.volumeControlStream = AudioManager.STREAM_VOICE_CALL
|
||||
// Lock orientation to portrait in order to have good experience with calls
|
||||
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
||||
chatModel.activeCallViewIsVisible.value = true
|
||||
// After the first call, End command gets added to the list which prevents making another calls
|
||||
chatModel.callCommand.removeAll { it is WCallCommand.End }
|
||||
keepScreenOn(true)
|
||||
onDispose {
|
||||
activity.volumeControlStream = prevVolumeControlStream
|
||||
// Unlock orientation
|
||||
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
|
||||
chatModel.activeCallViewIsVisible.value = false
|
||||
chatModel.callCommand.clear()
|
||||
keepScreenOn(false)
|
||||
@@ -264,8 +273,8 @@ actual fun ActiveCallView() {
|
||||
private fun ActiveCallOverlay(call: Call, chatModel: ChatModel, callAudioDeviceManager: CallAudioDeviceManagerInterface) {
|
||||
ActiveCallOverlayLayout(
|
||||
call = call,
|
||||
devices = remember { callAudioDeviceManager.devices }.value,
|
||||
currentDevice = remember { callAudioDeviceManager.currentDevice },
|
||||
devices = remember(callAudioDeviceManager) { callAudioDeviceManager.devices }.value,
|
||||
currentDevice = remember(callAudioDeviceManager) { callAudioDeviceManager.currentDevice },
|
||||
dismiss = { withBGApi { chatModel.callManager.endCall(call) } },
|
||||
toggleAudio = { chatModel.callCommand.add(WCallCommand.Media(CallMediaSource.Mic, enable = !call.localMediaSources.mic)) },
|
||||
selectDevice = { callAudioDeviceManager.selectDevice(it.id) },
|
||||
@@ -832,7 +841,8 @@ fun PreviewActiveCallOverlayVideo() {
|
||||
connectionInfo = ConnectionInfo(
|
||||
RTCIceCandidate(RTCIceCandidateType.Host, "tcp"),
|
||||
RTCIceCandidate(RTCIceCandidateType.Host, "tcp")
|
||||
)
|
||||
),
|
||||
androidCallState = {}
|
||||
),
|
||||
devices = emptyList(),
|
||||
currentDevice = remember { mutableStateOf(null) },
|
||||
@@ -841,7 +851,7 @@ fun PreviewActiveCallOverlayVideo() {
|
||||
selectDevice = {},
|
||||
toggleVideo = {},
|
||||
toggleSound = {},
|
||||
flipCamera = {}
|
||||
flipCamera = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -862,7 +872,8 @@ fun PreviewActiveCallOverlayAudio() {
|
||||
connectionInfo = ConnectionInfo(
|
||||
RTCIceCandidate(RTCIceCandidateType.Host, "udp"),
|
||||
RTCIceCandidate(RTCIceCandidateType.Host, "udp")
|
||||
)
|
||||
),
|
||||
androidCallState = {}
|
||||
),
|
||||
devices = emptyList(),
|
||||
currentDevice = remember { mutableStateOf(null) },
|
||||
|
||||
+3
-2
@@ -1895,8 +1895,9 @@ class PendingContactConnection(
|
||||
generalGetString(MR.strings.display_name_connection_established)
|
||||
} else {
|
||||
generalGetString(
|
||||
if (initiated && !viaContactUri) MR.strings.display_name_invited_to_connect
|
||||
else MR.strings.display_name_connecting
|
||||
if (viaContactUri) MR.strings.display_name_requested_to_connect
|
||||
else if (initiated) MR.strings.display_name_invited_to_connect
|
||||
else MR.strings.display_name_accepted_invitation
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+7
-46
@@ -3669,14 +3669,13 @@ enum class ServerProtocol {
|
||||
@Serializable
|
||||
enum class OperatorTag {
|
||||
@SerialName("simplex") SimpleX,
|
||||
@SerialName("flux") Flux,
|
||||
@SerialName("xyz") XYZ,
|
||||
@SerialName("demo") Demo
|
||||
@SerialName("flux") Flux
|
||||
}
|
||||
|
||||
data class ServerOperatorInfo(
|
||||
val description: List<String>,
|
||||
val website: String,
|
||||
val selfhost: Pair<String, String>? = null,
|
||||
val logo: ImageResource,
|
||||
val largeLogo: ImageResource,
|
||||
val logoDarkMode: ImageResource,
|
||||
@@ -3696,31 +3695,17 @@ val operatorsInfo: Map<OperatorTag, ServerOperatorInfo> = mapOf(
|
||||
),
|
||||
OperatorTag.Flux to ServerOperatorInfo(
|
||||
description = listOf(
|
||||
"Flux is the largest decentralized cloud infrastructure, leveraging a global network of user-operated computational 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 is the largest decentralized cloud, based on a global network of user-operated nodes.",
|
||||
"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",
|
||||
selfhost = "Self-host SimpleX servers on Flux" to "https://home.runonflux.io/apps/marketplace?q=simplex",
|
||||
logo = MR.images.flux_logo_symbol,
|
||||
largeLogo = MR.images.flux_logo,
|
||||
logoDarkMode = MR.images.flux_logo_symbol,
|
||||
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
|
||||
@@ -3800,7 +3785,7 @@ data class ServerOperator(
|
||||
companion object {
|
||||
val dummyOperatorInfo = ServerOperatorInfo(
|
||||
description = listOf("Default"),
|
||||
website = "Default",
|
||||
website = "https://simplex.chat",
|
||||
logo = MR.images.decentralized,
|
||||
largeLogo = MR.images.logo,
|
||||
logoDarkMode = MR.images.decentralized_light,
|
||||
@@ -3818,30 +3803,6 @@ data class ServerOperator(
|
||||
smpRoles = 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
|
||||
|
||||
+2
@@ -10,6 +10,7 @@ import chat.simplex.common.model.ChatId
|
||||
import chat.simplex.common.model.NotificationsMode
|
||||
import chat.simplex.common.ui.theme.CurrentColors
|
||||
import kotlinx.coroutines.Job
|
||||
import java.io.Closeable
|
||||
|
||||
interface PlatformInterface {
|
||||
suspend fun androidServiceStart() {}
|
||||
@@ -26,6 +27,7 @@ interface PlatformInterface {
|
||||
fun androidPictureInPictureAllowed(): Boolean = true
|
||||
fun androidCallEnded() {}
|
||||
fun androidRestartNetworkObserver() {}
|
||||
fun androidCreateActiveCallState(): Closeable = Closeable { }
|
||||
fun androidIsXiaomiDevice(): Boolean = false
|
||||
val androidApiLevel: Int? get() = null
|
||||
@Composable fun androidLockPortraitOrientation() {}
|
||||
|
||||
@@ -609,6 +609,7 @@ fun themedBackgroundBrush(): Brush = Brush.linearGradient(
|
||||
)
|
||||
|
||||
val DEFAULT_PADDING = 20.dp
|
||||
val DEFAULT_ONBOARDING_HORIZONTAL_PADDING = 25.dp
|
||||
val DEFAULT_SPACE_AFTER_ICON = 4.dp
|
||||
val DEFAULT_PADDING_HALF = DEFAULT_PADDING / 2
|
||||
val DEFAULT_BOTTOM_PADDING = 48.dp
|
||||
|
||||
+2
-2
@@ -117,7 +117,7 @@ fun CreateFirstProfile(chatModel: ChatModel, close: () -> Unit) {
|
||||
ColumnWithScrollBar {
|
||||
val displayName = rememberSaveable { mutableStateOf("") }
|
||||
val focusRequester = remember { FocusRequester() }
|
||||
Column(if (appPlatform.isAndroid) Modifier.fillMaxSize().padding(start = DEFAULT_PADDING * 2, end = DEFAULT_PADDING * 2, bottom = DEFAULT_PADDING) else Modifier.widthIn(max = 600.dp).fillMaxHeight().padding(horizontal = DEFAULT_PADDING).align(Alignment.CenterHorizontally)) {
|
||||
Column(if (appPlatform.isAndroid) Modifier.fillMaxSize().padding(start = DEFAULT_ONBOARDING_HORIZONTAL_PADDING * 2, end = DEFAULT_ONBOARDING_HORIZONTAL_PADDING * 2, bottom = DEFAULT_PADDING) else Modifier.widthIn(max = 600.dp).fillMaxHeight().padding(horizontal = DEFAULT_PADDING).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Box(Modifier.align(Alignment.CenterHorizontally)) {
|
||||
AppBarTitle(stringResource(MR.strings.create_your_profile), bottomPadding = DEFAULT_PADDING, withPadding = false)
|
||||
}
|
||||
@@ -130,7 +130,7 @@ fun CreateFirstProfile(chatModel: ChatModel, close: () -> Unit) {
|
||||
Spacer(Modifier.fillMaxHeight().weight(1f))
|
||||
Column(Modifier.widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
OnboardingActionButton(
|
||||
if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
labelId = MR.strings.create_profile_button,
|
||||
onboarding = null,
|
||||
enabled = canCreateProfile(displayName.value),
|
||||
|
||||
+3
@@ -43,6 +43,7 @@ class CallManager(val chatModel: ChatModel) {
|
||||
|
||||
private fun justAcceptIncomingCall(invitation: RcvCallInvitation, userProfile: Profile) {
|
||||
with (chatModel) {
|
||||
activeCall.value?.androidCallState?.close()
|
||||
activeCall.value = Call(
|
||||
remoteHostId = invitation.remoteHostId,
|
||||
userProfile = userProfile,
|
||||
@@ -51,6 +52,7 @@ class CallManager(val chatModel: ChatModel) {
|
||||
callState = CallState.InvitationAccepted,
|
||||
initialCallType = invitation.callType.media,
|
||||
sharedKey = invitation.sharedKey,
|
||||
androidCallState = platform.androidCreateActiveCallState()
|
||||
)
|
||||
showCallView.value = true
|
||||
val useRelay = controller.appPrefs.webrtcPolicyRelay.get()
|
||||
@@ -78,6 +80,7 @@ class CallManager(val chatModel: ChatModel) {
|
||||
// Don't destroy WebView if you plan to accept next call right after this one
|
||||
if (!switchingCall.value) {
|
||||
showCallView.value = false
|
||||
activeCall.value?.androidCallState?.close()
|
||||
activeCall.value = null
|
||||
activeCallViewIsCollapsed.value = false
|
||||
platform.androidCallEnded()
|
||||
|
||||
+4
-1
@@ -7,6 +7,7 @@ import chat.simplex.res.MR
|
||||
import kotlinx.datetime.Instant
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.io.Closeable
|
||||
import java.net.URI
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
@@ -27,7 +28,9 @@ data class Call(
|
||||
|
||||
// When a user has audio call, and then he wants to enable camera but didn't grant permissions for using camera yet,
|
||||
// we show permissions view without enabling camera before permissions are granted. After they are granted, enabling camera
|
||||
val wantsToEnableCamera: Boolean = false
|
||||
val wantsToEnableCamera: Boolean = false,
|
||||
|
||||
val androidCallState: Closeable
|
||||
) {
|
||||
val encrypted: Boolean get() = localEncrypted && sharedKey != null
|
||||
private val localEncrypted: Boolean get() = localCapabilities?.encryption ?: false
|
||||
|
||||
+48
-20
@@ -131,26 +131,14 @@ fun ChatInfoView(
|
||||
},
|
||||
syncContactConnection = {
|
||||
withBGApi {
|
||||
val cStats = chatModel.controller.apiSyncContactRatchet(chatRh, contact.contactId, force = false)
|
||||
connStats.value = cStats
|
||||
if (cStats != null) {
|
||||
withChats {
|
||||
updateContactConnectionStats(chatRh, contact, cStats)
|
||||
}
|
||||
}
|
||||
syncContactConnection(chatRh, contact, connStats, force = false)
|
||||
close.invoke()
|
||||
}
|
||||
},
|
||||
syncContactConnectionForce = {
|
||||
showSyncConnectionForceAlert(syncConnectionForce = {
|
||||
withBGApi {
|
||||
val cStats = chatModel.controller.apiSyncContactRatchet(chatRh, contact.contactId, force = true)
|
||||
connStats.value = cStats
|
||||
if (cStats != null) {
|
||||
withChats {
|
||||
updateContactConnectionStats(chatRh, contact, cStats)
|
||||
}
|
||||
}
|
||||
syncContactConnection(chatRh, contact, connStats, force = true)
|
||||
close.invoke()
|
||||
}
|
||||
})
|
||||
@@ -189,6 +177,16 @@ fun ChatInfoView(
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun syncContactConnection(rhId: Long?, contact: Contact, connectionStats: MutableState<ConnectionStats?>, force: Boolean) {
|
||||
val cStats = chatModel.controller.apiSyncContactRatchet(rhId, contact.contactId, force = force)
|
||||
connectionStats.value = cStats
|
||||
if (cStats != null) {
|
||||
withChats {
|
||||
updateContactConnectionStats(rhId, contact, cStats)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sealed class SendReceipts {
|
||||
object Yes: SendReceipts()
|
||||
object No: SendReceipts()
|
||||
@@ -505,7 +503,7 @@ fun ChatInfoLayout(
|
||||
currentUser: User,
|
||||
sendReceipts: State<SendReceipts>,
|
||||
setSendReceipts: (SendReceipts) -> Unit,
|
||||
connStats: State<ConnectionStats?>,
|
||||
connStats: MutableState<ConnectionStats?>,
|
||||
contactNetworkStatus: NetworkStatus,
|
||||
customUserProfile: Profile?,
|
||||
localAlias: String,
|
||||
@@ -553,8 +551,8 @@ fun ChatInfoLayout(
|
||||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
SearchButton(modifier = Modifier.fillMaxWidth(0.25f), chat, contact, close, onSearchClicked)
|
||||
AudioCallButton(modifier = Modifier.fillMaxWidth(0.33f), chat, contact)
|
||||
VideoButton(modifier = Modifier.fillMaxWidth(0.5f), chat, contact)
|
||||
AudioCallButton(modifier = Modifier.fillMaxWidth(0.33f), chat, contact, connStats)
|
||||
VideoButton(modifier = Modifier.fillMaxWidth(0.5f), chat, contact, connStats)
|
||||
MuteButton(modifier = Modifier.fillMaxWidth(1f), chat, contact)
|
||||
}
|
||||
}
|
||||
@@ -825,12 +823,14 @@ fun MuteButton(
|
||||
fun AudioCallButton(
|
||||
modifier: Modifier,
|
||||
chat: Chat,
|
||||
contact: Contact
|
||||
contact: Contact,
|
||||
connectionStats: MutableState<ConnectionStats?>
|
||||
) {
|
||||
CallButton(
|
||||
modifier = modifier,
|
||||
chat,
|
||||
contact,
|
||||
connectionStats,
|
||||
icon = painterResource(MR.images.ic_call),
|
||||
title = generalGetString(MR.strings.info_view_call_button),
|
||||
mediaType = CallMediaType.Audio
|
||||
@@ -841,12 +841,14 @@ fun AudioCallButton(
|
||||
fun VideoButton(
|
||||
modifier: Modifier,
|
||||
chat: Chat,
|
||||
contact: Contact
|
||||
contact: Contact,
|
||||
connectionStats: MutableState<ConnectionStats?>
|
||||
) {
|
||||
CallButton(
|
||||
modifier = modifier,
|
||||
chat,
|
||||
contact,
|
||||
connectionStats,
|
||||
icon = painterResource(MR.images.ic_videocam),
|
||||
title = generalGetString(MR.strings.info_view_video_button),
|
||||
mediaType = CallMediaType.Video
|
||||
@@ -858,6 +860,7 @@ fun CallButton(
|
||||
modifier: Modifier,
|
||||
chat: Chat,
|
||||
contact: Contact,
|
||||
connectionStats: MutableState<ConnectionStats?>,
|
||||
icon: Painter,
|
||||
title: String,
|
||||
mediaType: CallMediaType
|
||||
@@ -879,7 +882,23 @@ fun CallButton(
|
||||
disabledLook = !canCall,
|
||||
onClick =
|
||||
when {
|
||||
canCall -> { { startChatCall(chat.remoteHostId, chat.chatInfo, mediaType) } }
|
||||
canCall -> { {
|
||||
val connStats = connectionStats.value
|
||||
if (connStats != null) {
|
||||
if (connStats.ratchetSyncState == RatchetSyncState.Ok) {
|
||||
startChatCall(chat.remoteHostId, chat.chatInfo, mediaType)
|
||||
} else if (connStats.ratchetSyncAllowed) {
|
||||
showFixConnectionAlert(syncConnection = {
|
||||
withBGApi { syncContactConnection(chat.remoteHostId, contact, connectionStats, force = false) }
|
||||
})
|
||||
} else {
|
||||
AlertManager.shared.showAlertMsg(
|
||||
generalGetString(MR.strings.cant_call_contact_alert_title),
|
||||
generalGetString(MR.strings.encryption_renegotiation_in_progress)
|
||||
)
|
||||
}
|
||||
}
|
||||
} }
|
||||
contact.nextSendGrpInv -> { { showCantCallContactSendMessageAlert() } }
|
||||
!contact.active -> { { showCantCallContactDeletedAlert() } }
|
||||
!contact.ready -> { { showCantCallContactConnectingAlert() } }
|
||||
@@ -1265,6 +1284,15 @@ fun showSyncConnectionForceAlert(syncConnectionForce: () -> Unit) {
|
||||
)
|
||||
}
|
||||
|
||||
fun showFixConnectionAlert(syncConnection: () -> Unit) {
|
||||
AlertManager.shared.showAlertDialog(
|
||||
title = generalGetString(MR.strings.sync_connection_question),
|
||||
text = generalGetString(MR.strings.sync_connection_desc),
|
||||
confirmText = generalGetString(MR.strings.sync_connection_confirm),
|
||||
onConfirm = syncConnection,
|
||||
)
|
||||
}
|
||||
|
||||
fun queueInfoText(info: Pair<RcvMsgInfo?, ServerQueueInfo>): String {
|
||||
val (rcvMsgInfo, qInfo) = info
|
||||
val msgInfo: String = if (rcvMsgInfo != null) json.encodeToString(rcvMsgInfo) else generalGetString(MR.strings.message_queue_info_none)
|
||||
|
||||
+35
-8
@@ -29,6 +29,7 @@ import androidx.compose.ui.unit.*
|
||||
import chat.simplex.common.model.*
|
||||
import chat.simplex.common.model.CIDirection.GroupRcv
|
||||
import chat.simplex.common.model.ChatController.appPrefs
|
||||
import chat.simplex.common.model.ChatModel.activeCall
|
||||
import chat.simplex.common.model.ChatModel.controller
|
||||
import chat.simplex.common.model.ChatModel.withChats
|
||||
import chat.simplex.common.ui.theme.*
|
||||
@@ -573,7 +574,8 @@ fun startChatCall(remoteHostId: Long?, chatInfo: ChatInfo, media: CallMediaType)
|
||||
if (chatInfo is ChatInfo.Direct) {
|
||||
val contactInfo = chatModel.controller.apiContactInfo(remoteHostId, chatInfo.contact.contactId)
|
||||
val profile = contactInfo?.second ?: chatModel.currentUser.value?.profile?.toProfile() ?: return@withBGApi
|
||||
chatModel.activeCall.value = Call(remoteHostId = remoteHostId, contact = chatInfo.contact, callUUID = null, callState = CallState.WaitCapabilities, initialCallType = media, userProfile = profile)
|
||||
activeCall.value?.androidCallState?.close()
|
||||
chatModel.activeCall.value = Call(remoteHostId = remoteHostId, contact = chatInfo.contact, callUUID = null, callState = CallState.WaitCapabilities, initialCallType = media, userProfile = profile, androidCallState = platform.androidCreateActiveCallState())
|
||||
chatModel.showCallView.value = true
|
||||
chatModel.callCommand.add(WCallCommand.Capabilities(media))
|
||||
}
|
||||
@@ -982,6 +984,7 @@ fun BoxScope.ChatItemsList(
|
||||
})
|
||||
val maxHeight = remember { derivedStateOf { listState.value.layoutInfo.viewportEndOffset - topPaddingToContentPx.value } }
|
||||
val loadingMoreItems = remember { mutableStateOf(false) }
|
||||
val animatedScrollingInProgress = remember { mutableStateOf(false) }
|
||||
val ignoreLoadingRequests = remember(remoteHostId) { mutableSetOf<Long>() }
|
||||
if (!loadingMoreItems.value) {
|
||||
PreloadItems(chatInfo.id, if (searchValueIsEmpty.value) ignoreLoadingRequests else mutableSetOf(), mergedItems, listState, ChatPagination.UNTIL_PRELOAD_COUNT) { chatId, pagination ->
|
||||
@@ -1002,7 +1005,7 @@ fun BoxScope.ChatItemsList(
|
||||
val chatInfoUpdated = rememberUpdatedState(chatInfo)
|
||||
val highlightedItems = remember { mutableStateOf(setOf<Long>()) }
|
||||
val scope = rememberCoroutineScope()
|
||||
val scrollToItem: (Long) -> Unit = remember { scrollToItem(searchValue, loadingMoreItems, highlightedItems, chatInfoUpdated, maxHeight, scope, reversedChatItems, mergedItems, listState, loadMessages) }
|
||||
val scrollToItem: (Long) -> Unit = remember { scrollToItem(searchValue, loadingMoreItems, animatedScrollingInProgress, highlightedItems, chatInfoUpdated, maxHeight, scope, reversedChatItems, mergedItems, listState, loadMessages) }
|
||||
val scrollToQuotedItemFromItem: (Long) -> Unit = remember { findQuotedItemFromItem(remoteHostIdUpdated, chatInfoUpdated, scope, scrollToItem) }
|
||||
|
||||
LoadLastItems(loadingMoreItems, remoteHostId, chatInfo)
|
||||
@@ -1312,7 +1315,7 @@ fun BoxScope.ChatItemsList(
|
||||
}
|
||||
}
|
||||
}
|
||||
FloatingButtons(loadingMoreItems, mergedItems, unreadCount, maxHeight, composeViewHeight, searchValue, markChatRead, listState)
|
||||
FloatingButtons(loadingMoreItems, animatedScrollingInProgress, mergedItems, unreadCount, maxHeight, composeViewHeight, searchValue, markChatRead, listState)
|
||||
FloatingDate(Modifier.padding(top = 10.dp + topPaddingToContent(true)).align(Alignment.TopCenter), mergedItems, listState)
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
@@ -1321,6 +1324,15 @@ fun BoxScope.ChatItemsList(
|
||||
chatViewScrollState.value = it
|
||||
}
|
||||
}
|
||||
LaunchedEffect(Unit) {
|
||||
snapshotFlow { listState.value.isScrollInProgress }
|
||||
.filter { !it }
|
||||
.collect {
|
||||
if (animatedScrollingInProgress.value) {
|
||||
animatedScrollingInProgress.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@@ -1398,6 +1410,7 @@ private fun NotifyChatListOnFinishingComposition(
|
||||
@Composable
|
||||
fun BoxScope.FloatingButtons(
|
||||
loadingMoreItems: MutableState<Boolean>,
|
||||
animatedScrollingInProgress: MutableState<Boolean>,
|
||||
mergedItems: State<MergedItems>,
|
||||
unreadCount: State<Int>,
|
||||
maxHeight: State<Int>,
|
||||
@@ -1437,8 +1450,14 @@ fun BoxScope.FloatingButtons(
|
||||
bottomUnreadCount,
|
||||
showBottomButtonWithCounter,
|
||||
showBottomButtonWithArrow,
|
||||
animatedScrollingInProgress,
|
||||
composeViewHeight,
|
||||
onClick = { scope.launch { tryBlockAndSetLoadingMore(loadingMoreItems) { listState.value.animateScrollToItem(0) } } }
|
||||
onClick = {
|
||||
scope.launch {
|
||||
animatedScrollingInProgress.value = true
|
||||
tryBlockAndSetLoadingMore(loadingMoreItems) { listState.value.animateScrollToItem(0) }
|
||||
}
|
||||
}
|
||||
)
|
||||
// Don't show top FAB if is in search
|
||||
if (searchValue.value.isNotEmpty()) return
|
||||
@@ -1449,11 +1468,15 @@ fun BoxScope.FloatingButtons(
|
||||
TopEndFloatingButton(
|
||||
Modifier.padding(end = DEFAULT_PADDING, top = 24.dp + topPaddingToContent(true)).align(Alignment.TopEnd),
|
||||
topUnreadCount,
|
||||
animatedScrollingInProgress,
|
||||
onClick = {
|
||||
val index = mergedItems.value.items.indexOfLast { it.hasUnread() }
|
||||
if (index != -1) {
|
||||
// scroll to the top unread item
|
||||
scope.launch { tryBlockAndSetLoadingMore(loadingMoreItems) { listState.value.animateScrollToItem(index + 1, -maxHeight.value) } }
|
||||
scope.launch {
|
||||
animatedScrollingInProgress.value = true
|
||||
tryBlockAndSetLoadingMore(loadingMoreItems) { listState.value.animateScrollToItem(index + 1, -maxHeight.value) }
|
||||
}
|
||||
}
|
||||
},
|
||||
onLongClick = { showDropDown.value = true }
|
||||
@@ -1593,10 +1616,11 @@ fun MemberImage(member: GroupMember) {
|
||||
private fun TopEndFloatingButton(
|
||||
modifier: Modifier = Modifier,
|
||||
unreadCount: State<Int>,
|
||||
animatedScrollingInProgress: State<Boolean>,
|
||||
onClick: () -> Unit,
|
||||
onLongClick: () -> Unit
|
||||
) {
|
||||
if (unreadCount.value > 0) {
|
||||
if (remember { derivedStateOf { unreadCount.value > 0 && !animatedScrollingInProgress.value } }.value) {
|
||||
val interactionSource = interactionSourceWithDetection(onClick, onLongClick)
|
||||
FloatingActionButton(
|
||||
{}, // no action here
|
||||
@@ -1837,6 +1861,7 @@ private fun lastFullyVisibleIemInListState(topPaddingToContentPx: State<Int>, de
|
||||
private fun scrollToItem(
|
||||
searchValue: State<String>,
|
||||
loadingMoreItems: MutableState<Boolean>,
|
||||
animatedScrollingInProgress: MutableState<Boolean>,
|
||||
highlightedItems: MutableState<Set<Long>>,
|
||||
chatInfo: State<ChatInfo>,
|
||||
maxHeight: State<Int>,
|
||||
@@ -1874,6 +1899,7 @@ private fun scrollToItem(
|
||||
highlightedItems.value = setOf(itemId)
|
||||
} else {
|
||||
withContext(scope.coroutineContext) {
|
||||
animatedScrollingInProgress.value = true
|
||||
listState.value.animateScrollToItem(min(reversedChatItems.value.lastIndex, index + 1), -maxHeight.value)
|
||||
highlightedItems.value = setOf(itemId)
|
||||
}
|
||||
@@ -1935,10 +1961,11 @@ private fun BoxScope.BottomEndFloatingButton(
|
||||
unreadCount: State<Int>,
|
||||
showButtonWithCounter: State<Boolean>,
|
||||
showButtonWithArrow: State<Boolean>,
|
||||
animatedScrollingInProgress: State<Boolean>,
|
||||
composeViewHeight: State<Dp>,
|
||||
onClick: () -> Unit
|
||||
) = when {
|
||||
showButtonWithCounter.value -> {
|
||||
showButtonWithCounter.value && !animatedScrollingInProgress.value -> {
|
||||
FloatingActionButton(
|
||||
onClick = onClick,
|
||||
elevation = FloatingActionButtonDefaults.elevation(0.dp, 0.dp, 0.dp, 0.dp),
|
||||
@@ -1952,7 +1979,7 @@ private fun BoxScope.BottomEndFloatingButton(
|
||||
)
|
||||
}
|
||||
}
|
||||
showButtonWithArrow.value -> {
|
||||
showButtonWithArrow.value && !animatedScrollingInProgress.value -> {
|
||||
FloatingActionButton(
|
||||
onClick = onClick,
|
||||
elevation = FloatingActionButtonDefaults.elevation(0.dp, 0.dp, 0.dp, 0.dp),
|
||||
|
||||
+49
-25
@@ -8,8 +8,6 @@ import SectionSpacer
|
||||
import SectionTextFooter
|
||||
import SectionView
|
||||
import androidx.compose.desktop.ui.tooling.preview.Preview
|
||||
import java.net.URI
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.text.InlineTextContent
|
||||
import androidx.compose.foundation.text.appendInlineContent
|
||||
@@ -58,6 +56,19 @@ fun GroupMemberInfoView(
|
||||
val developerTools = chatModel.controller.appPrefs.developerTools.get()
|
||||
var progressIndicator by remember { mutableStateOf(false) }
|
||||
|
||||
fun syncMemberConnection() {
|
||||
withBGApi {
|
||||
val r = chatModel.controller.apiSyncGroupMemberRatchet(rhId, groupInfo.apiId, member.groupMemberId, force = false)
|
||||
if (r != null) {
|
||||
connStats.value = r.second
|
||||
withChats {
|
||||
updateGroupMemberConnectionStats(rhId, groupInfo, r.first, r.second)
|
||||
}
|
||||
close.invoke()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (chat != null) {
|
||||
val newRole = remember { mutableStateOf(member.memberRole) }
|
||||
GroupMemberInfoLayout(
|
||||
@@ -78,19 +89,30 @@ fun GroupMemberInfoView(
|
||||
}
|
||||
},
|
||||
createMemberContact = {
|
||||
withBGApi {
|
||||
progressIndicator = true
|
||||
val memberContact = chatModel.controller.apiCreateMemberContact(rhId, groupInfo.apiId, member.groupMemberId)
|
||||
if (memberContact != null) {
|
||||
val memberChat = Chat(remoteHostId = rhId, ChatInfo.Direct(memberContact), chatItems = arrayListOf())
|
||||
withChats {
|
||||
addChat(memberChat)
|
||||
openLoadedChat(memberChat)
|
||||
if (connectionStats != null) {
|
||||
if (connectionStats.ratchetSyncState == RatchetSyncState.Ok) {
|
||||
withBGApi {
|
||||
progressIndicator = true
|
||||
val memberContact = chatModel.controller.apiCreateMemberContact(rhId, groupInfo.apiId, member.groupMemberId)
|
||||
if (memberContact != null) {
|
||||
val memberChat = Chat(remoteHostId = rhId, ChatInfo.Direct(memberContact), chatItems = arrayListOf())
|
||||
withChats {
|
||||
addChat(memberChat)
|
||||
openLoadedChat(memberChat)
|
||||
}
|
||||
closeAll()
|
||||
chatModel.setContactNetworkStatus(memberContact, NetworkStatus.Connected())
|
||||
}
|
||||
progressIndicator = false
|
||||
}
|
||||
closeAll()
|
||||
chatModel.setContactNetworkStatus(memberContact, NetworkStatus.Connected())
|
||||
} else if (connectionStats.ratchetSyncAllowed) {
|
||||
showFixConnectionAlert(syncConnection = { syncMemberConnection() })
|
||||
} else {
|
||||
AlertManager.shared.showAlertMsg(
|
||||
generalGetString(MR.strings.cant_send_message_to_member_alert_title),
|
||||
generalGetString(MR.strings.encryption_renegotiation_in_progress)
|
||||
)
|
||||
}
|
||||
progressIndicator = false
|
||||
}
|
||||
},
|
||||
connectViaAddress = { connReqUri ->
|
||||
@@ -149,16 +171,7 @@ fun GroupMemberInfoView(
|
||||
})
|
||||
},
|
||||
syncMemberConnection = {
|
||||
withBGApi {
|
||||
val r = chatModel.controller.apiSyncGroupMemberRatchet(rhId, groupInfo.apiId, member.groupMemberId, force = false)
|
||||
if (r != null) {
|
||||
connStats.value = r.second
|
||||
withChats {
|
||||
updateGroupMemberConnectionStats(rhId, groupInfo, r.first, r.second)
|
||||
}
|
||||
close.invoke()
|
||||
}
|
||||
}
|
||||
syncMemberConnection()
|
||||
},
|
||||
syncMemberConnectionForce = {
|
||||
showSyncConnectionForceAlert(syncConnectionForce = {
|
||||
@@ -335,9 +348,20 @@ fun GroupMemberInfoLayout(
|
||||
val knownChat = if (contactId != null) knownDirectChat(contactId) else null
|
||||
if (knownChat != null) {
|
||||
val (chat, contact) = knownChat
|
||||
val knownContactConnectionStats: MutableState<ConnectionStats?> = remember { mutableStateOf(null) }
|
||||
|
||||
LaunchedEffect(contact.contactId) {
|
||||
withBGApi {
|
||||
val contactInfo = chatModel.controller.apiContactInfo(chat.remoteHostId, chat.chatInfo.apiId)
|
||||
if (contactInfo != null) {
|
||||
knownContactConnectionStats.value = contactInfo.first
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OpenChatButton(modifier = Modifier.fillMaxWidth(0.33f), onClick = { openDirectChat(contact.contactId) })
|
||||
AudioCallButton(modifier = Modifier.fillMaxWidth(0.5f), chat, contact)
|
||||
VideoButton(modifier = Modifier.fillMaxWidth(1f), chat, contact)
|
||||
AudioCallButton(modifier = Modifier.fillMaxWidth(0.5f), chat, contact, knownContactConnectionStats)
|
||||
VideoButton(modifier = Modifier.fillMaxWidth(1f), chat, contact, knownContactConnectionStats)
|
||||
} else if (groupInfo.fullGroupPreferences.directMessages.on(groupInfo.membership)) {
|
||||
if (contactId != null) {
|
||||
OpenChatButton(modifier = Modifier.fillMaxWidth(0.33f), onClick = { openDirectChat(contactId) }) // legacy - only relevant for direct contacts created when joining group
|
||||
|
||||
+1
-7
@@ -192,13 +192,7 @@ fun DatabaseLayout(
|
||||
}
|
||||
RunChatSetting(stopped, toggleEnabled && !progressIndicator, startChat, stopChatAlert)
|
||||
}
|
||||
SectionTextFooter(
|
||||
if (stopped) {
|
||||
stringResource(MR.strings.you_must_use_the_most_recent_version_of_database)
|
||||
} else {
|
||||
stringResource(MR.strings.stop_chat_to_enable_database_actions)
|
||||
}
|
||||
)
|
||||
if (stopped) SectionTextFooter(stringResource(MR.strings.you_must_use_the_most_recent_version_of_database))
|
||||
SectionDividerSpaced(maxTopPadding = true)
|
||||
}
|
||||
|
||||
|
||||
+57
-14
@@ -1,7 +1,11 @@
|
||||
package chat.simplex.common.views.onboarding
|
||||
|
||||
import SectionBottomSpacer
|
||||
import SectionDividerSpaced
|
||||
import SectionItemView
|
||||
import SectionTextFooter
|
||||
import SectionView
|
||||
import TextIconSpaced
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.*
|
||||
@@ -12,8 +16,8 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import chat.simplex.common.model.*
|
||||
import chat.simplex.common.model.ChatController.appPrefs
|
||||
import chat.simplex.common.model.ServerOperator
|
||||
import chat.simplex.common.platform.*
|
||||
import chat.simplex.common.ui.theme.*
|
||||
import chat.simplex.common.views.helpers.*
|
||||
@@ -49,7 +53,7 @@ fun ModalData.ChooseServerOperators(
|
||||
Column(Modifier.fillMaxWidth().padding(horizontal = DEFAULT_PADDING), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
OnboardingInformationButton(
|
||||
stringResource(MR.strings.how_it_helps_privacy),
|
||||
onClick = { modalManager.showModal { ChooseServerOperatorsInfoView() } }
|
||||
onClick = { modalManager.showModal { ChooseServerOperatorsInfoView(modalManager) } }
|
||||
)
|
||||
}
|
||||
|
||||
@@ -57,7 +61,8 @@ fun ModalData.ChooseServerOperators(
|
||||
Column((
|
||||
if (appPlatform.isDesktop) Modifier.width(600.dp).align(Alignment.CenterHorizontally) else Modifier)
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = DEFAULT_PADDING)
|
||||
.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
serverOperators.value.forEachIndexed { index, srvOperator ->
|
||||
OperatorCheckView(srvOperator, selectedOperatorIds)
|
||||
@@ -67,6 +72,7 @@ fun ModalData.ChooseServerOperators(
|
||||
}
|
||||
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)
|
||||
}
|
||||
Spacer(Modifier.weight(1f))
|
||||
@@ -169,7 +175,7 @@ private fun ReviewConditionsButton(
|
||||
modalManager: ModalManager
|
||||
) {
|
||||
OnboardingActionButton(
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
labelId = MR.strings.operator_review_conditions,
|
||||
onboarding = null,
|
||||
enabled = enabled,
|
||||
@@ -184,7 +190,7 @@ private fun ReviewConditionsButton(
|
||||
@Composable
|
||||
private fun SetOperatorsButton(enabled: Boolean, onboarding: Boolean, serverOperators: State<List<ServerOperator>>, selectedOperatorIds: State<Set<Long>>, close: () -> Unit) {
|
||||
OnboardingActionButton(
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
labelId = MR.strings.onboarding_network_operators_update,
|
||||
onboarding = null,
|
||||
enabled = enabled,
|
||||
@@ -206,7 +212,7 @@ private fun SetOperatorsButton(enabled: Boolean, onboarding: Boolean, serverOper
|
||||
@Composable
|
||||
private fun ContinueButton(enabled: Boolean, onboarding: Boolean, close: () -> Unit) {
|
||||
OnboardingActionButton(
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
labelId = MR.strings.onboarding_network_operators_continue,
|
||||
onboarding = null,
|
||||
enabled = enabled,
|
||||
@@ -234,7 +240,7 @@ private fun ReviewConditionsView(
|
||||
// remembering both since we don't want to reload the view after the user accepts conditions
|
||||
val operatorsWithConditionsAccepted = remember { chatModel.conditions.value.serverOperators.filter { it.conditionsAcceptance.conditionsAccepted } }
|
||||
val acceptForOperators = remember { selectedOperators.value.filter { !it.conditionsAcceptance.conditionsAccepted } }
|
||||
ColumnWithScrollBar(modifier = Modifier.fillMaxSize().padding(horizontal = DEFAULT_PADDING)) {
|
||||
ColumnWithScrollBar(modifier = Modifier.fillMaxSize().padding(horizontal = if (onboarding) DEFAULT_ONBOARDING_HORIZONTAL_PADDING else DEFAULT_PADDING)) {
|
||||
AppBarTitle(stringResource(MR.strings.operator_conditions_of_use), withPadding = false, enableAlphaChanges = false, bottomPadding = DEFAULT_PADDING)
|
||||
if (operatorsWithConditionsAccepted.isNotEmpty()) {
|
||||
ReadableText(MR.strings.operator_conditions_accepted_for_some, args = operatorsWithConditionsAccepted.joinToString(", ") { it.legalName_ })
|
||||
@@ -267,7 +273,7 @@ private fun AcceptConditionsButton(
|
||||
}
|
||||
}
|
||||
OnboardingActionButton(
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier,
|
||||
modifier = if (appPlatform.isAndroid) Modifier.fillMaxWidth() else Modifier,
|
||||
labelId = MR.strings.accept_conditions,
|
||||
onboarding = null,
|
||||
onclick = {
|
||||
@@ -338,12 +344,49 @@ private fun enabledOperators(operators: List<ServerOperator>, selectedOperatorId
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun ChooseServerOperatorsInfoView() {
|
||||
ColumnWithScrollBar(Modifier.padding(horizontal = DEFAULT_PADDING)) {
|
||||
AppBarTitle(stringResource(MR.strings.onboarding_network_operators), withPadding = false)
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_app_will_use_different_operators))
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_cant_see_who_talks_to_whom))
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_app_will_use_for_routing))
|
||||
private fun ChooseServerOperatorsInfoView(
|
||||
modalManager: ModalManager
|
||||
) {
|
||||
ColumnWithScrollBar {
|
||||
AppBarTitle(stringResource(MR.strings.onboarding_network_operators))
|
||||
|
||||
Column(
|
||||
Modifier.padding(horizontal = DEFAULT_PADDING)
|
||||
) {
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_app_will_use_different_operators))
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_cant_see_who_talks_to_whom))
|
||||
ReadableText(stringResource(MR.strings.onboarding_network_operators_app_will_use_for_routing))
|
||||
}
|
||||
|
||||
SectionDividerSpaced()
|
||||
|
||||
SectionView(title = stringResource(MR.strings.onboarding_network_about_operators).uppercase()) {
|
||||
chatModel.conditions.value.serverOperators.forEach { op ->
|
||||
ServerOperatorRow(op, modalManager)
|
||||
}
|
||||
}
|
||||
SectionBottomSpacer()
|
||||
}
|
||||
}
|
||||
|
||||
@Composable()
|
||||
private fun ServerOperatorRow(
|
||||
operator: ServerOperator,
|
||||
modalManager: ModalManager
|
||||
) {
|
||||
SectionItemView(
|
||||
{
|
||||
modalManager.showModalCloseable { close ->
|
||||
OperatorInfoView(operator)
|
||||
}
|
||||
}
|
||||
) {
|
||||
Image(
|
||||
painterResource(operator.logo),
|
||||
operator.tradeName,
|
||||
modifier = Modifier.size(24.dp)
|
||||
)
|
||||
TextIconSpaced()
|
||||
Text(operator.tradeName)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -35,14 +35,14 @@ fun SetNotificationsMode(m: ChatModel) {
|
||||
AppBarTitle(stringResource(MR.strings.onboarding_notifications_mode_title), bottomPadding = DEFAULT_PADDING)
|
||||
}
|
||||
val currentMode = rememberSaveable { mutableStateOf(NotificationsMode.default) }
|
||||
Column(Modifier.padding(horizontal = DEFAULT_PADDING).fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Column(Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
OnboardingInformationButton(
|
||||
stringResource(MR.strings.onboarding_notifications_mode_subtitle),
|
||||
onClick = { ModalManager.fullscreen.showModalCloseable { NotificationBatteryUsageInfo() } }
|
||||
)
|
||||
}
|
||||
Spacer(Modifier.weight(1f))
|
||||
Column(Modifier.padding(horizontal = DEFAULT_PADDING)) {
|
||||
Column(Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING)) {
|
||||
SelectableCard(currentMode, NotificationsMode.SERVICE, stringResource(MR.strings.onboarding_notifications_mode_service), annotatedStringResource(MR.strings.onboarding_notifications_mode_service_desc_short)) {
|
||||
currentMode.value = NotificationsMode.SERVICE
|
||||
}
|
||||
@@ -56,7 +56,7 @@ fun SetNotificationsMode(m: ChatModel) {
|
||||
Spacer(Modifier.weight(1f))
|
||||
Column(Modifier.widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
OnboardingActionButton(
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier,
|
||||
modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier,
|
||||
labelId = MR.strings.use_chat,
|
||||
onboarding = OnboardingStage.OnboardingComplete,
|
||||
onclick = {
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ private fun SetupDatabasePassphraseLayout(
|
||||
@Composable
|
||||
private fun SetPassphraseButton(disabled: Boolean, onClick: () -> Unit) {
|
||||
OnboardingActionButton(
|
||||
if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING * 2).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp),
|
||||
labelId = MR.strings.set_database_passphrase,
|
||||
onboarding = null,
|
||||
onclick = onClick,
|
||||
|
||||
+39
-6
@@ -5,6 +5,7 @@ import androidx.compose.desktop.ui.tooling.preview.Preview
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
@@ -13,6 +14,8 @@ import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.painter.Painter
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.layout.layout
|
||||
import androidx.compose.ui.text.TextLayoutResult
|
||||
import dev.icerock.moko.resources.compose.painterResource
|
||||
import dev.icerock.moko.resources.compose.stringResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -27,6 +30,8 @@ import chat.simplex.common.views.migration.MigrateToDeviceView
|
||||
import chat.simplex.common.views.migration.MigrationToState
|
||||
import chat.simplex.res.MR
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
import kotlin.math.ceil
|
||||
import kotlin.math.floor
|
||||
|
||||
@Composable
|
||||
fun SimpleXInfo(chatModel: ChatModel, onboarding: Boolean = true) {
|
||||
@@ -52,7 +57,7 @@ fun SimpleXInfoLayout(
|
||||
user: User?,
|
||||
onboardingStage: SharedPreference<OnboardingStage>?
|
||||
) {
|
||||
ColumnWithScrollBar(Modifier.padding(horizontal = DEFAULT_PADDING), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
ColumnWithScrollBar(Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Box(Modifier.widthIn(max = if (appPlatform.isAndroid) 250.dp else 500.dp).padding(top = DEFAULT_PADDING + 8.dp), contentAlignment = Alignment.Center) {
|
||||
SimpleXLogo()
|
||||
}
|
||||
@@ -73,7 +78,7 @@ fun SimpleXInfoLayout(
|
||||
Column(Modifier.fillMaxHeight().weight(1f)) { }
|
||||
|
||||
if (onboardingStage != null) {
|
||||
Column(Modifier.padding(horizontal = DEFAULT_PADDING).widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally,) {
|
||||
Column(Modifier.widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally,) {
|
||||
OnboardingActionButton(user, onboardingStage)
|
||||
TextButtonBelowOnboardingButton(stringResource(MR.strings.migrate_from_another_device)) {
|
||||
chatModel.migrationState.value = MigrationToState.PasteOrScanLink
|
||||
@@ -139,7 +144,7 @@ fun OnboardingActionButton(
|
||||
shape = CircleShape,
|
||||
enabled = enabled,
|
||||
// elevation = ButtonDefaults.elevation(defaultElevation = 0.dp, focusedElevation = 0.dp, pressedElevation = 0.dp, hoveredElevation = 0.dp),
|
||||
contentPadding = PaddingValues(horizontal = if (icon == null) DEFAULT_PADDING * 2 else DEFAULT_PADDING * 1.5f, vertical = DEFAULT_PADDING),
|
||||
contentPadding = PaddingValues(horizontal = if (icon == null) DEFAULT_PADDING * 2 else DEFAULT_PADDING * 1.5f, vertical = 17.dp),
|
||||
colors = ButtonDefaults.buttonColors(MaterialTheme.colors.primary, disabledBackgroundColor = MaterialTheme.colors.secondary)
|
||||
) {
|
||||
if (icon != null) {
|
||||
@@ -153,8 +158,8 @@ fun OnboardingActionButton(
|
||||
fun TextButtonBelowOnboardingButton(text: String, onClick: (() -> Unit)?) {
|
||||
val state = getKeyboardState()
|
||||
val enabled = onClick != null
|
||||
val topPadding by animateDpAsState(if (appPlatform.isAndroid && state.value == KeyboardState.Opened) 0.dp else DEFAULT_PADDING_HALF)
|
||||
val bottomPadding by animateDpAsState(if (appPlatform.isAndroid && state.value == KeyboardState.Opened) 0.dp else DEFAULT_PADDING_HALF)
|
||||
val topPadding by animateDpAsState(if (appPlatform.isAndroid && state.value == KeyboardState.Opened) 0.dp else 7.5.dp)
|
||||
val bottomPadding by animateDpAsState(if (appPlatform.isAndroid && state.value == KeyboardState.Opened) 0.dp else 7.5.dp)
|
||||
if ((appPlatform.isAndroid && state.value == KeyboardState.Closed) || topPadding > 0.dp) {
|
||||
TextButton({ onClick?.invoke() }, Modifier.padding(top = topPadding, bottom = bottomPadding).clip(CircleShape), enabled = enabled) {
|
||||
Text(
|
||||
@@ -187,7 +192,35 @@ fun OnboardingInformationButton(
|
||||
null,
|
||||
tint = MaterialTheme.colors.primary
|
||||
)
|
||||
Text(text, style = MaterialTheme.typography.button, color = MaterialTheme.colors.primary)
|
||||
// https://issuetracker.google.com/issues/206039942#comment32
|
||||
var textLayoutResult: TextLayoutResult? by remember { mutableStateOf(null) }
|
||||
Text(
|
||||
text,
|
||||
Modifier
|
||||
.layout { measurable, constraints ->
|
||||
val placeable = measurable.measure(constraints)
|
||||
val newTextLayoutResult = textLayoutResult
|
||||
|
||||
if (newTextLayoutResult == null || newTextLayoutResult.lineCount == 0) {
|
||||
// Default behavior if there is no text or the text layout is not measured yet
|
||||
layout(placeable.width, placeable.height) {
|
||||
placeable.placeRelative(0, 0)
|
||||
}
|
||||
} else {
|
||||
val minX = (0 until newTextLayoutResult.lineCount).minOf(newTextLayoutResult::getLineLeft)
|
||||
val maxX = (0 until newTextLayoutResult.lineCount).maxOf(newTextLayoutResult::getLineRight)
|
||||
|
||||
layout(ceil(maxX - minX).toInt(), placeable.height) {
|
||||
placeable.place(-floor(minX).toInt(), 0)
|
||||
}
|
||||
}
|
||||
},
|
||||
onTextLayout = {
|
||||
textLayoutResult = it
|
||||
},
|
||||
style = MaterialTheme.typography.button,
|
||||
color = MaterialTheme.colors.primary
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
-8
@@ -410,7 +410,7 @@ fun OperatorViewLayout(
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun OperatorInfoView(serverOperator: ServerOperator) {
|
||||
fun OperatorInfoView(serverOperator: ServerOperator) {
|
||||
ColumnWithScrollBar {
|
||||
AppBarTitle(stringResource(MR.strings.operator_info_title))
|
||||
|
||||
@@ -427,23 +427,27 @@ private fun OperatorInfoView(serverOperator: ServerOperator) {
|
||||
|
||||
SectionDividerSpaced(maxBottomPadding = false)
|
||||
|
||||
val uriHandler = LocalUriHandler.current
|
||||
SectionView {
|
||||
SectionItemView {
|
||||
Column(verticalArrangement = Arrangement.spacedBy(10.dp)) {
|
||||
serverOperator.info.description.forEach { d ->
|
||||
Text(d)
|
||||
}
|
||||
val website = serverOperator.info.website
|
||||
Text(website, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(website) })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDividerSpaced()
|
||||
|
||||
SectionView(generalGetString(MR.strings.operator_website).uppercase()) {
|
||||
SectionItemView {
|
||||
val website = serverOperator.info.website
|
||||
val uriHandler = LocalUriHandler.current
|
||||
Text(website, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(website) })
|
||||
val selfhost = serverOperator.info.selfhost
|
||||
if (selfhost != null) {
|
||||
SectionDividerSpaced(maxBottomPadding = false)
|
||||
SectionView {
|
||||
SectionItemView {
|
||||
val (text, link) = selfhost
|
||||
Text(text, color = MaterialTheme.colors.primary, modifier = Modifier.clickable { uriHandler.openUriCatching(link) })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -71,6 +71,8 @@
|
||||
<string name="connection_local_display_name">connection %1$d</string>
|
||||
<string name="display_name_connection_established">connection established</string>
|
||||
<string name="display_name_invited_to_connect">invited to connect</string>
|
||||
<string name="display_name_requested_to_connect">requested to connect</string>
|
||||
<string name="display_name_accepted_invitation">accepted invitation</string>
|
||||
<string name="display_name_connecting">connecting…</string>
|
||||
<string name="description_you_shared_one_time_link">you shared one-time link</string>
|
||||
<string name="description_you_shared_one_time_link_incognito">you shared one-time link incognito</string>
|
||||
@@ -522,6 +524,10 @@
|
||||
<string name="sync_connection_force_question">Renegotiate encryption?</string>
|
||||
<string name="sync_connection_force_desc">The encryption is working and the new encryption agreement is not required. It may result in connection errors!</string>
|
||||
<string name="sync_connection_force_confirm">Renegotiate</string>
|
||||
<string name="sync_connection_question">Fix connection?</string>
|
||||
<string name="sync_connection_desc">Connection requires encryption renegotiation.</string>
|
||||
<string name="sync_connection_confirm">Fix</string>
|
||||
<string name="encryption_renegotiation_in_progress">Encryption renegotiation in progress.</string>
|
||||
<string name="view_security_code">View security code</string>
|
||||
<string name="verify_security_code">Verify security code</string>
|
||||
|
||||
@@ -1075,9 +1081,11 @@
|
||||
<!-- ChooseServerOperators.kt -->
|
||||
<string name="onboarding_choose_server_operators">Server 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_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_about_operators">About operators</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Select network operators to use.</string>
|
||||
<string name="how_it_helps_privacy">How it helps privacy</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">You can configure servers via settings.</string>
|
||||
@@ -1306,7 +1314,6 @@
|
||||
<string name="chat_database_deleted">Chat database deleted</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Restart the app to create a new chat profile.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">You must use the most recent version of your chat database on one device ONLY, otherwise you may stop receiving the messages from some contacts.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Stop chat to enable database actions.</string>
|
||||
<string name="files_and_media_section">Files & media</string>
|
||||
<string name="delete_files_and_media_for_all_users">Delete files for all chat profiles</string>
|
||||
<string name="delete_files_and_media_all">Delete all files</string>
|
||||
@@ -1749,7 +1756,6 @@
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[The same conditions will apply to operator <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[The same conditions will apply to operator(s): <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[These conditions will also apply for: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[The same conditions will apply to operator: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[Conditions will be accepted for operator(s): <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_also_apply"><![CDATA[These conditions will also apply for: <b>%s</b>.]]></string>
|
||||
<string name="view_conditions">View conditions</string>
|
||||
@@ -2400,7 +2406,7 @@
|
||||
<string name="servers_info_messages_sent">Messages sent</string>
|
||||
<string name="servers_info_messages_received">Messages received</string>
|
||||
<string name="servers_info_details">Details</string>
|
||||
<string name="servers_info_private_data_disclaimer">Starting from %s.\nAll data is private to your device.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Starting from %s.\nAll data is kept private on your device..</string>
|
||||
<string name="servers_info_subscriptions_section_header">Message reception</string>
|
||||
<string name="servers_info_subscriptions_connections_subscribed">Active connections</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">Pending</string>
|
||||
|
||||
@@ -1133,7 +1133,6 @@
|
||||
<string name="save_preferences_question">Запази настройките\?</string>
|
||||
<string name="icon_descr_speaker_on">Високоговорителят е включен</string>
|
||||
<string name="icon_descr_speaker_off">Високоговорителят е изключен</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Спрете чата, за да активирате действията с базата данни.</string>
|
||||
<string name="role_in_group">Роля</string>
|
||||
<string name="network_options_save">Запази</string>
|
||||
<string name="reset_color">Нулирай цветовете</string>
|
||||
|
||||
@@ -280,7 +280,6 @@
|
||||
<string name="delete_chat_profile_action_cannot_be_undone_warning">Tuto akci nelze vzít zpět! Váš profil, kontakty, zprávy a soubory budou nenávratně ztraceny.</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Restartujte aplikaci a vytvořte nový chat profil.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">Nejnovější verzi databáze chatu musíte používat POUZE v jednom zařízení, jinak se může stát, že přestanete přijímat zprávy od některých kontaktů.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Zastavte chat a povolte akce s databází.</string>
|
||||
<string name="files_and_media_section">Soubory a média</string>
|
||||
<string name="delete_files_and_media_question">Smazat soubory a média\?</string>
|
||||
<string name="delete_messages">Odstranit zprávy</string>
|
||||
@@ -1861,7 +1860,7 @@
|
||||
<string name="smp_servers_configured">Nastavené SMP servery</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">Probíhá</string>
|
||||
<string name="chunks_uploaded">Části nahrány</string>
|
||||
<string name="n_file_errors">%1$d chuba souboru(ů):\n%2$s</string>
|
||||
<string name="n_file_errors">%1$d chyba souboru(ů):\n%2$s</string>
|
||||
<string name="n_other_file_errors">%1$d jiná chyba souboru(ů).</string>
|
||||
<string name="error_forwarding_messages">Chyba přeposílaní zpráv</string>
|
||||
<string name="srv_error_host">Adresa serveru není kompatibilní s nastavením sítě.</string>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<string name="sender_cancelled_file_transfer">Der Absender hat die Dateiübertragung abgebrochen.</string>
|
||||
<string name="error_receiving_file">Fehler beim Empfangen der Datei</string>
|
||||
<string name="error_creating_address">Fehler beim Erstellen der Adresse</string>
|
||||
<string name="contact_already_exists">Kontakt ist bereits vorhanden</string>
|
||||
<string name="contact_already_exists">Kontakt besteht bereits</string>
|
||||
<string name="you_are_already_connected_to_vName_via_this_link">Sie sind bereits mit %1$s verbunden.</string>
|
||||
<string name="invalid_connection_link">Ungültiger Verbindungslink</string>
|
||||
<string name="please_check_correct_link_and_maybe_ask_for_a_new_one">Überprüfen Sie bitte, ob Sie den richtigen Link genutzt haben, oder bitten Sie Ihren Kontakt darum, Ihnen nochmal einen Link zuzusenden.</string>
|
||||
@@ -88,9 +88,9 @@
|
||||
<string name="icon_descr_instant_notifications">Sofortige Benachrichtigungen</string>
|
||||
<string name="service_notifications">Sofortige Benachrichtigungen!</string>
|
||||
<string name="service_notifications_disabled">Sofortige Benachrichtigungen sind deaktiviert!</string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Um Ihre Privatsphäre zu schützen, kann statt der Push-Benachrichtigung der <b>SimpleX-Hintergrunddienst genutzt werden</b> – dieser benötigt ein paar Prozent Akkuleistung am Tag.]]></string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Um Ihre Privatsphäre zu schützen, <b>läuft SimpleX im Hintergrund ab</b>, anstatt Push-Benachrichtigungen zu nutzen.]]></string>
|
||||
<string name="it_can_disabled_via_settings_notifications_still_shown"><![CDATA[<b>Diese können über die Einstellungen deaktiviert werden</b> – solange die App läuft, werden Benachrichtigungen weiterhin angezeigt.]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[Um diese Funktion zu nutzen, wählen Sie im nächsten Dialog bitte die Einstellung <b>Erlauben Sie SimpleX im Hintergrund abzulaufen</b>. Ansonsten werden die Benachrichtigungen deaktiviert.]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[Um Benachrichtigungen sofort zu erhalten, <b>Erlauben Sie es</b> im nächsten Dialog.]]></string>
|
||||
<string name="turning_off_service_and_periodic">Die Akkuoptimierung ist aktiv, der Hintergrunddienst und die periodische Nachfrage nach neuen Nachrichten ist abgeschaltet. Sie können diese Funktion in den Einstellungen wieder aktivieren.</string>
|
||||
<string name="periodic_notifications">Periodische Benachrichtigungen</string>
|
||||
<string name="periodic_notifications_disabled">Periodische Benachrichtigungen sind deaktiviert!</string>
|
||||
@@ -462,7 +462,7 @@
|
||||
<string name="callstate_connected">Verbunden</string>
|
||||
<string name="callstate_ended">Beendet</string>
|
||||
<!-- SimpleXInfo -->
|
||||
<string name="next_generation_of_private_messaging">Die nächste Generation \ndes privaten Messagings</string>
|
||||
<string name="next_generation_of_private_messaging">Die Zukunft des Messagings</string>
|
||||
<string name="privacy_redefined">Datenschutz neu definiert</string>
|
||||
<string name="first_platform_without_user_ids">Keine Benutzerkennungen.</string>
|
||||
<string name="immune_to_spam_and_abuse">Immun gegen Spam</string>
|
||||
@@ -474,8 +474,8 @@
|
||||
<string name="how_it_works">Wie es funktioniert</string>
|
||||
<!-- How SimpleX Works -->
|
||||
<string name="how_simplex_works">Wie SimpleX funktioniert</string>
|
||||
<string name="to_protect_privacy_simplex_has_ids_for_queues">Zum Schutz Ihrer Privatsphäre verwendet SimpleX anstelle von Benutzerkennungen, die von allen anderen Plattformen verwendet werden, Kennungen für Nachrichtenwarteschlangen, die für jeden Ihrer Kontakte individuell sind.</string>
|
||||
<string name="only_client_devices_store_contacts_groups_e2e_encrypted_messages"><![CDATA[Nur die Endgeräte speichern die Benutzerprofile, Kontakte, Gruppen und Nachrichten, welche über eine <b>zweischichtige Ende-zu-Ende-Verschlüsselung</b> gesendet werden.]]></string>
|
||||
<string name="to_protect_privacy_simplex_has_ids_for_queues">SimpleX nutzt individuelle Kennungen für jeden Ihrer Kontakte, um Ihre Privatsphäre zu schützen.</string>
|
||||
<string name="only_client_devices_store_contacts_groups_e2e_encrypted_messages">Nur die Endgeräte speichern Benutzerprofile, Kontakte, Gruppen und Nachrichten.</string>
|
||||
<string name="read_more_in_github_with_link"><![CDATA[Erfahren Sie in unserem <font color="#0088ff">GitHub-Repository</font> mehr dazu.]]></string>
|
||||
<!-- MakeConnection -->
|
||||
<string name="paste_the_link_you_received">Fügen Sie den erhaltenen Link ein</string>
|
||||
@@ -597,7 +597,6 @@
|
||||
<string name="chat_database_deleted">Chat-Datenbank gelöscht</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Starten Sie die App neu, um ein neues Chat-Profil zu erstellen.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">Sie dürfen die neueste Version Ihrer Chat-Datenbank NUR auf einem Gerät verwenden, andernfalls erhalten Sie möglicherweise keine Nachrichten mehr von einigen Ihrer Kontakte.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Chat beenden, um Datenbankaktionen zu erlauben.</string>
|
||||
<string name="delete_files_and_media_question">Dateien und Medien löschen?</string>
|
||||
<string name="delete_files_and_media_desc">Diese Aktion kann nicht rückgängig gemacht werden! Es werden alle empfangenen und gesendeten Dateien und Medien gelöscht. Bilder mit niedriger Auflösung bleiben erhalten.</string>
|
||||
<string name="no_received_app_files">Keine empfangenen oder gesendeten Dateien</string>
|
||||
@@ -684,7 +683,7 @@
|
||||
<string name="alert_title_group_invitation_expired">Die Einladung ist abgelaufen!</string>
|
||||
<string name="alert_message_group_invitation_expired">Die Gruppeneinladung ist nicht mehr gültig, da sie vom Absender entfernt wurde.</string>
|
||||
<string name="alert_title_no_group">Die Gruppe wurde nicht gefunden!</string>
|
||||
<string name="alert_message_no_group">Diese Gruppe existiert nicht mehr.</string>
|
||||
<string name="alert_message_no_group">Diese Gruppe ist nicht mehr vorhanden.</string>
|
||||
<string name="alert_title_cant_invite_contacts">Kontakte können nicht eingeladen werden!</string>
|
||||
<string name="alert_title_cant_invite_contacts_descr">Sie verwenden ein Inkognito-Profil für diese Gruppe. Um zu verhindern, dass Sie Ihr Hauptprofil teilen, ist in diesem Fall das Einladen von Kontakten nicht erlaubt.</string>
|
||||
<!-- CIGroupInvitationView.kt -->
|
||||
@@ -782,8 +781,8 @@
|
||||
<string name="change_verb">Ändern</string>
|
||||
<string name="switch_verb">Wechseln</string>
|
||||
<string name="change_member_role_question">Die Mitgliederrolle ändern?</string>
|
||||
<string name="member_role_will_be_changed_with_notification">Die Mitgliederrolle wird auf "%s" geändert. Alle Mitglieder der Gruppe werden benachrichtigt.</string>
|
||||
<string name="member_role_will_be_changed_with_invitation">Die Mitgliederrolle wird auf "%s" geändert. Das Mitglied wird eine neue Einladung erhalten.</string>
|
||||
<string name="member_role_will_be_changed_with_notification">Die Rolle wird auf %s geändert. Alle Mitglieder der Gruppe werden benachrichtigt.</string>
|
||||
<string name="member_role_will_be_changed_with_invitation">Die Rolle wird auf %s geändert. Das Mitglied wird eine neue Einladung erhalten.</string>
|
||||
<string name="error_removing_member">Fehler beim Entfernen des Mitglieds</string>
|
||||
<string name="error_changing_role">Fehler beim Ändern der Rolle</string>
|
||||
<string name="info_row_group">Gruppe</string>
|
||||
@@ -873,12 +872,12 @@
|
||||
<string name="prohibit_message_deletion">Unwiederbringliches Löschen von Nachrichten nicht erlauben.</string>
|
||||
<string name="allow_to_send_voice">Das Senden von Sprachnachrichten erlauben.</string>
|
||||
<string name="prohibit_sending_voice">Das Senden von Sprachnachrichten nicht erlauben.</string>
|
||||
<string name="group_members_can_send_dms">Gruppenmitglieder können Direktnachrichten versenden.</string>
|
||||
<string name="group_members_can_send_dms">Mitglieder können Direktnachrichten versenden.</string>
|
||||
<string name="direct_messages_are_prohibited_in_group">In dieser Gruppe sind Direktnachrichten zwischen Mitgliedern nicht erlaubt.</string>
|
||||
<string name="group_members_can_delete">Gruppenmitglieder können gesendete Nachrichten unwiederbringlich löschen (bis zu 24 Stunden).</string>
|
||||
<string name="message_deletion_prohibited_in_chat">In dieser Gruppe ist das unwiederbringliche Löschen von Nachrichten nicht erlaubt.</string>
|
||||
<string name="group_members_can_send_voice">Gruppenmitglieder können Sprachnachrichten versenden.</string>
|
||||
<string name="voice_messages_are_prohibited">In dieser Gruppe sind Sprachnachrichten nicht erlaubt.</string>
|
||||
<string name="group_members_can_delete">Mitglieder können gesendete Nachrichten unwiederbringlich löschen (bis zu 24 Stunden).</string>
|
||||
<string name="message_deletion_prohibited_in_chat">Das unwiederbringliche Löschen von Nachrichten ist nicht erlaubt.</string>
|
||||
<string name="group_members_can_send_voice">Mitglieder können Sprachnachrichten versenden.</string>
|
||||
<string name="voice_messages_are_prohibited">Sprachnachrichten sind nicht erlaubt.</string>
|
||||
<string name="live">LIVE</string>
|
||||
<string name="view_security_code">Schauen Sie sich den Sicherheitscode an</string>
|
||||
<string name="onboarding_notifications_mode_service">Sofort</string>
|
||||
@@ -888,7 +887,7 @@
|
||||
<string name="is_verified">%s wurde erfolgreich überprüft</string>
|
||||
<string name="clear_verification">Verifikation zurücknehmen</string>
|
||||
<string name="onboarding_notifications_mode_off">Solange die App abläuft</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Kann später über die Einstellungen geändert werden.</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Auswirkung auf den Akku</string>
|
||||
<string name="delete_after">Löschen nach</string>
|
||||
<string name="ttl_hour">%d Stunde</string>
|
||||
<string name="ttl_hours">%d Stunden</string>
|
||||
@@ -923,8 +922,8 @@
|
||||
<string name="create_group_link">Gruppenlink erstellen</string>
|
||||
<string name="allow_your_contacts_to_send_disappearing_messages">Erlauben Sie Ihren Kontakten das Senden von verschwindenden Nachrichten.</string>
|
||||
<string name="prohibit_sending_disappearing_messages">Das Senden von verschwindenden Nachrichten nicht erlauben.</string>
|
||||
<string name="disappearing_messages_are_prohibited">In dieser Gruppe sind verschwindende Nachrichten nicht erlaubt.</string>
|
||||
<string name="group_members_can_send_disappearing">Gruppenmitglieder können verschwindende Nachrichten senden.</string>
|
||||
<string name="disappearing_messages_are_prohibited">Verschwindende Nachrichten sind nicht erlaubt.</string>
|
||||
<string name="group_members_can_send_disappearing">Mitglieder können verschwindende Nachrichten senden.</string>
|
||||
<string name="v4_3_improved_server_configuration_desc">Fügen Sie Server durch Scannen der QR-Codes hinzu.</string>
|
||||
<string name="v4_4_disappearing_messages">Verschwindende Nachrichten</string>
|
||||
<string name="accept_feature">Übernehmen</string>
|
||||
@@ -979,7 +978,7 @@
|
||||
<string name="users_delete_profile_for">Chat-Profil löschen für</string>
|
||||
<string name="network_option_ping_count">PING-Zähler</string>
|
||||
<string name="update_network_session_mode_question">Transport-Isolations-Modus aktualisieren\?</string>
|
||||
<string name="smp_servers_per_user">Mögliche Server für neue Verbindungen über Ihr aktuelles Chat-Profil</string>
|
||||
<string name="smp_servers_per_user">Nachrichten-Server für neue Verbindungen über Ihr aktuelles Chat-Profil</string>
|
||||
<string name="files_and_media_section">Dateien & Medien</string>
|
||||
<string name="network_session_mode_transport_isolation">Transport-Isolation</string>
|
||||
<string name="users_delete_question">Chat-Profil löschen\?</string>
|
||||
@@ -1249,7 +1248,7 @@
|
||||
<string name="if_you_enter_passcode_data_removed">Wenn Sie diesen Zugangscode während des Öffnens der App eingeben, werden alle App-Daten unwiederbringlich gelöscht!</string>
|
||||
<string name="self_destruct_passcode">Selbstzerstörungs-Zugangscode</string>
|
||||
<string name="set_passcode">Zugangscode einstellen</string>
|
||||
<string name="message_reactions_are_prohibited">In dieser Gruppe sind Reaktionen auf Nachrichten nicht erlaubt.</string>
|
||||
<string name="message_reactions_are_prohibited">Reaktionen auf Nachrichten sind nicht erlaubt.</string>
|
||||
<string name="error_loading_details">Fehler beim Laden von Details</string>
|
||||
<string name="received_message">Empfangene Nachricht</string>
|
||||
<string name="info_menu">Information</string>
|
||||
@@ -1280,7 +1279,7 @@
|
||||
<string name="only_your_contact_can_add_message_reactions">Nur Ihr Kontakt kann Reaktionen auf Nachrichten geben.</string>
|
||||
<string name="allow_message_reactions">Reaktionen auf Nachrichten erlauben.</string>
|
||||
<string name="prohibit_message_reactions_group">Reaktionen auf Nachrichten nicht erlauben.</string>
|
||||
<string name="group_members_can_add_message_reactions">Gruppenmitglieder können eine Reaktion auf Nachrichten geben.</string>
|
||||
<string name="group_members_can_add_message_reactions">Mitglieder können eine Reaktion auf Nachrichten geben.</string>
|
||||
<string name="whats_new_read_more">Mehr erfahren</string>
|
||||
<string name="v5_1_message_reactions_descr">Endlich haben wir sie! 🚀</string>
|
||||
<string name="v5_1_message_reactions">Reaktionen auf Nachrichten</string>
|
||||
@@ -1295,9 +1294,7 @@
|
||||
<string name="v5_1_custom_themes_descr">Farbdesigns anpassen und weitergeben.</string>
|
||||
<string name="custom_time_unit_days">Tage</string>
|
||||
<string name="custom_time_unit_hours">Stunden</string>
|
||||
<string name="v5_1_better_messages_descr">- Bis zu 5 Minuten lange Sprachnachrichten
|
||||
\n- Zeitdauer für verschwindende Nachrichten anpassen
|
||||
\n- Nachrichtenverlauf bearbeiten</string>
|
||||
<string name="v5_1_better_messages_descr">- Bis zu 5 Minuten lange Sprachnachrichten\n- Zeitdauer für verschwindende Nachrichten anpassen\n- Nachrichtenverlauf bearbeiten</string>
|
||||
<string name="custom_time_picker_custom">benutzerdefiniert</string>
|
||||
<string name="custom_time_unit_months">Monate</string>
|
||||
<string name="custom_time_picker_select">Auswählen</string>
|
||||
@@ -1326,9 +1323,9 @@
|
||||
<string name="abort_switch_receiving_address_question">Wechsel der Empfängeradresse beenden?</string>
|
||||
<string name="files_and_media_prohibited">Dateien und Medien sind nicht erlaubt!</string>
|
||||
<string name="only_owners_can_enable_files_and_media">Nur Gruppenbesitzer können Dateien und Medien aktivieren.</string>
|
||||
<string name="group_members_can_send_files">Gruppenmitglieder können Dateien und Medien senden.</string>
|
||||
<string name="group_members_can_send_files">Mitglieder können Dateien und Medien senden.</string>
|
||||
<string name="abort_switch_receiving_address_desc">Der Wechsel der Empfängeradresse wird beendet. Die bisherige Adresse wird weiter verwendet.</string>
|
||||
<string name="files_are_prohibited_in_group">In dieser Gruppe sind Dateien und Medien nicht erlaubt.</string>
|
||||
<string name="files_are_prohibited_in_group">Dateien und Medien sind nicht erlaubt.</string>
|
||||
<string name="unfavorite_chat">Favorit entfernen</string>
|
||||
<string name="favorite_chat">Favorit</string>
|
||||
<string name="no_filtered_chats">Keine gefilterten Chats</string>
|
||||
@@ -1386,9 +1383,7 @@
|
||||
<string name="v5_2_fix_encryption_descr">Reparatur der Verschlüsselung nach Wiedereinspielen von Backups.</string>
|
||||
<string name="v5_2_more_things">Ein paar weitere Dinge</string>
|
||||
<string name="v5_2_disappear_one_message_descr">Auch wenn sie in den Unterhaltungen deaktiviert sind.</string>
|
||||
<string name="v5_2_more_things_descr">- stabilere Zustellung von Nachrichten.
|
||||
\n- ein bisschen verbesserte Gruppen.
|
||||
\n- und mehr!</string>
|
||||
<string name="v5_2_more_things_descr">- Stabilere Zustellung von Nachrichten.\n- Ein bisschen verbesserte Gruppen.\n- Und mehr!</string>
|
||||
<string name="dont_enable_receipts">Nicht aktivieren</string>
|
||||
<string name="sending_delivery_receipts_will_be_enabled">Das Senden von Empfangsbestätigungen an alle Kontakte wird aktiviert.</string>
|
||||
<string name="you_can_enable_delivery_receipts_later_alert">Sie können diese später in den Datenschutz- und Sicherheits-Einstellungen der App aktivieren.</string>
|
||||
@@ -1458,9 +1453,7 @@
|
||||
<string name="v5_3_new_interface_languages_descr">Arabisch, Bulgarisch, Finnisch, Hebräisch, Thailändisch und Ukrainisch - Dank der Nutzer und Weblate.</string>
|
||||
<string name="v5_3_new_desktop_app_descr">Erstellen eines neuen Profils in der Desktop-App. 💻</string>
|
||||
<string name="v5_3_simpler_incognito_mode_descr">Inkognito beim Verbinden einschalten.</string>
|
||||
<string name="v5_3_discover_join_groups_descr">- Verbindung mit dem Directory-Service (BETA)!
|
||||
\n- Empfangsbestätigungen (für bis zu 20 Mitglieder).
|
||||
\n- Schneller und stabiler.</string>
|
||||
<string name="v5_3_discover_join_groups_descr">- Verbindung mit dem Directory-Service (BETA)!\n- Empfangsbestätigungen (für bis zu 20 Mitglieder).\n- Schneller und stabiler.</string>
|
||||
<string name="member_contact_send_direct_message">Direktnachricht senden</string>
|
||||
<string name="rcv_group_event_member_created_contact">Direkt miteinander verbunden</string>
|
||||
<string name="expand_verb">Erweitern</string>
|
||||
@@ -1569,9 +1562,7 @@
|
||||
<string name="paste_desktop_address">Desktop-Adresse einfügen</string>
|
||||
<string name="verify_code_with_desktop">Code mit dem Desktop überprüfen</string>
|
||||
<string name="scan_qr_code_from_desktop">Den QR-Code vom Desktop scannen</string>
|
||||
<string name="v5_4_more_things_descr">- Optionale Benachrichtigung von gelöschten Kontakten.
|
||||
\n- Profilnamen mit Leerzeichen.
|
||||
\n- Und mehr!</string>
|
||||
<string name="v5_4_more_things_descr">- Optionale Benachrichtigung von gelöschten Kontakten.\n- Profilnamen mit Leerzeichen.\n- Und mehr!</string>
|
||||
<string name="scan_from_mobile">Vom Mobiltelefon scannen</string>
|
||||
<string name="verify_connections">Verbindungen überprüfen</string>
|
||||
<string name="loading_remote_file_desc">Bitte warten Sie, solange die Datei von dem verknüpften Mobiltelefon geladen wird</string>
|
||||
@@ -1800,12 +1791,12 @@
|
||||
<string name="simplex_links_not_allowed">SimpleX-Links sind nicht erlaubt</string>
|
||||
<string name="voice_messages_not_allowed">Sprachnachrichten sind nicht erlaubt</string>
|
||||
<string name="simplex_links">SimpleX-Links</string>
|
||||
<string name="group_members_can_send_simplex_links">Gruppenmitglieder können SimpleX-Links senden.</string>
|
||||
<string name="group_members_can_send_simplex_links">Mitglieder können SimpleX-Links senden.</string>
|
||||
<string name="feature_roles_admins">Administratoren</string>
|
||||
<string name="feature_roles_all_members">Alle Mitglieder</string>
|
||||
<string name="feature_enabled_for">Aktiviert für</string>
|
||||
<string name="feature_roles_owners">Eigentümer</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">In dieser Gruppe sind SimpleX-Links nicht erlaubt.</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">SimpleX-Links sind nicht erlaubt.</string>
|
||||
<string name="prohibit_sending_simplex_links">Das Senden von SimpleX-Links nicht erlauben.</string>
|
||||
<string name="allow_to_send_simplex_links">Das Senden von SimpleX-Links erlauben.</string>
|
||||
<string name="audio_device_speaker">Lautsprecher</string>
|
||||
@@ -2034,8 +2025,7 @@
|
||||
<string name="appearance_zoom">Zoom</string>
|
||||
<string name="smp_server">SMP-Server</string>
|
||||
<string name="servers_info_target">Informationen zeigen für</string>
|
||||
<string name="servers_info_private_data_disclaimer">Beginnend mit %s.
|
||||
\nAlle Daten werden nur auf Ihrem Gerät gespeichert.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Beginnend mit %s.\nAlle Daten werden nur auf Ihrem Gerät gespeichert.</string>
|
||||
<string name="servers_info_statistics_section_header">Statistiken</string>
|
||||
<string name="servers_info_transport_sessions_section_header">Transport-Sitzungen</string>
|
||||
<string name="servers_info_uploaded">Hochgeladen</string>
|
||||
@@ -2078,7 +2068,7 @@
|
||||
<string name="deleted_chats">Archivierte Kontakte</string>
|
||||
<string name="no_filtered_contacts">Keine gefilterten Kontakte</string>
|
||||
<string name="contact_list_header_title">Ihre Kontakte</string>
|
||||
<string name="one_hand_ui">Chat-Symbolleiste unten</string>
|
||||
<string name="one_hand_ui">App-Symbolleiste unten</string>
|
||||
<string name="calls_prohibited_ask_to_enable_calls_alert_text">Bitten Sie Ihren Kontakt darum, Anrufe zu aktivieren.</string>
|
||||
<string name="you_need_to_allow_calls">Sie müssen Ihrem Kontakt Anrufe zu Ihnen erlauben, bevor Sie ihn selbst anrufen können.</string>
|
||||
<string name="allow_calls_question">Anrufe erlauben?</string>
|
||||
@@ -2158,8 +2148,7 @@
|
||||
<string name="network_proxy_auth_mode_isolate_by_auth_user">Verwenden Sie für jedes Profil unterschiedliche Proxy-Anmeldeinformationen.</string>
|
||||
<string name="network_proxy_random_credentials">Verwenden Sie zufällige Anmeldeinformationen</string>
|
||||
<string name="network_proxy_username">Benutzername</string>
|
||||
<string name="n_file_errors">%1$d Datei-Fehler:
|
||||
\n%2$s</string>
|
||||
<string name="n_file_errors">%1$d Datei-Fehler:\n%2$s</string>
|
||||
<string name="forward_files_in_progress_desc">%1$d Datei(en) wird/werden immer noch heruntergeladen.</string>
|
||||
<string name="forward_files_failed_to_receive_desc">Bei %1$d Datei(en) ist das Herunterladen fehlgeschlagen.</string>
|
||||
<string name="error_forwarding_messages">Fehler beim Weiterleiten der Nachrichten</string>
|
||||
@@ -2216,11 +2205,11 @@
|
||||
<string name="for_social_media">Für soziale Medien</string>
|
||||
<string name="or_to_share_privately">Oder zum privaten Teilen</string>
|
||||
<string name="simplex_address_or_1_time_link">SimpleX-Adresse oder Einmal-Link?</string>
|
||||
<string name="onboarding_choose_server_operators">Betreiber auswählen</string>
|
||||
<string name="onboarding_choose_server_operators">Server-Betreiber</string>
|
||||
<string name="onboarding_network_operators">Netzwerk-Betreiber</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Wenn mehr als ein Netzwerk-Betreiber aktiviert ist, verwendet die App für jede Unterhaltung Server der verschiedenen Betreiber.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Die App verwendet für jede Unterhaltung Server von unterschiedlichen Betreibern, um Ihre Privatsphäre zu schützen.</string>
|
||||
<string name="onboarding_network_operators_conditions_will_be_accepted">Die Nutzungsbedingungen der aktivierten Betreiber werden nach 30 Tagen akzeptiert.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Wenn Sie beispielsweise Nachrichten über einen SimpleX-Chatserver empfangen, verwendet die App einen der Server von Flux für die private Weiterleitung.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Wenn Ihr Kontakt beispielsweise Nachrichten über einen SimpleX-Chat-Server empfängt, wird Ihre App diese über einen Flux-Server versenden.</string>
|
||||
<string name="onboarding_network_operators_review_later">Später einsehen</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Wählen sie die zu nutzenden Netzwerk-Betreiber aus.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Sie können die Betreiber in den Netzwerk- und Servereinstellungen konfigurieren.</string>
|
||||
@@ -2247,7 +2236,7 @@
|
||||
<string name="operator_use_for_messages">Für Nachrichten verwenden</string>
|
||||
<string name="operator_added_message_servers">Nachrichtenserver hinzugefügt</string>
|
||||
<string name="operator_use_for_messages_private_routing">Für privates Routing</string>
|
||||
<string name="xftp_servers_per_user">Die Server Deines aktuellen Chat-Profils für neue Dateien</string>
|
||||
<string name="xftp_servers_per_user">Medien- und Datei-Server für neue Daten über Ihr aktuelles Chat-Profil</string>
|
||||
<string name="operator_use_for_sending">Für das Senden</string>
|
||||
<string name="operator_use_for_files">Für Dateien verwenden</string>
|
||||
<string name="error_adding_server">Fehler beim Hinzufügen des Servers</string>
|
||||
@@ -2272,7 +2261,7 @@
|
||||
<string name="one_time_link_can_be_used_with_one_contact_only"><![CDATA[Ein Einmal-Link kann <i>nur mit einem Kontakt</i> genutzt werden - teilen Sie in nur persönlich oder über einen beliebigen Messenger.]]></string>
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_be_accepted_for"><![CDATA[Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_on">Die Nutzungsbedingungen werden akzeptiert am: %s.</string>
|
||||
<string name="operator_conditions_will_be_accepted_on">Die Nutzungsbedingungen wurden akzeptiert am: %s</string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[Diese Nutzungsbedingungen gelten auch für: <b>%s</b>.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Um die Server von <b>%s</b> zu nutzen, müssen Sie dessen Nutzungsbedingungen akzeptieren.]]></string>
|
||||
<string name="error_accepting_operator_conditions">Fehler beim Akzeptieren der Nutzungsbedingungen</string>
|
||||
@@ -2286,10 +2275,50 @@
|
||||
<string name="connection_error_quota_desc">Diese Verbindung hat das Limit der nicht ausgelieferten Nachrichten erreicht. Ihr Kontakt ist möglicherweise offline.</string>
|
||||
<string name="message_deleted_or_not_received_error_desc">Diese Nachricht wurde gelöscht oder bisher noch nicht empfangen.</string>
|
||||
<string name="to_protect_against_your_link_replaced_compare_codes">Zum Schutz vor dem Austausch Ihres Links können Sie die Sicherheitscodes Ihrer Kontakte vergleichen.</string>
|
||||
<string name="operators_conditions_accepted_for"><![CDATA[Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_accepted_for"><![CDATA[Die Nutzungsbedingungen der/des Betreiber(s) wurden akzeptiert: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[Die Nutzungsbedingungen der/des Betreiber(s) werden akzeptiert: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_accepted_on">Die Nutzungsbedingungen wurden akzeptiert am: %s.</string>
|
||||
<string name="operator_conditions_failed_to_load">Der Text der aktuellen Nutzungsbedingungen konnte nicht geladen werden. Sie können die Nutzungsbedingungen unter diesem Link einsehen:</string>
|
||||
<string name="remote_hosts_section">Ferngesteuerte Mobiltelefone</string>
|
||||
<string name="chat_archive">Oder importieren Sie eine Archiv-Datei</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>Hinweis für Geräte von Xiaomi</b>: Bitte aktivieren Sie in den System-Einstellungen die Option "Autostart", damit Benachrichtigungen funktionieren.]]></string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Alle Nachrichten und Dateien werden <b>Ende-zu-Ende-verschlüsselt</b> versendet. In Direktnachrichten sogar mit Post-Quantum-Security.]]></string>
|
||||
<string name="button_add_team_members">Team-Mitglieder aufnehmen</string>
|
||||
<string name="button_add_friends">Freunde aufnehmen</string>
|
||||
<string name="display_name_accepted_invitation">Einladung akzeptiert</string>
|
||||
<string name="business_address">Geschäftliche Adresse</string>
|
||||
<string name="v6_2_business_chats">Geschäftliche Chats</string>
|
||||
<string name="add_your_team_members_to_conversations">Nehmen Sie Team-Mitglieder in Ihre Unterhaltungen auf.</string>
|
||||
<string name="onboarding_notifications_mode_service_desc_short">Die App läuft immer im Hintergrund ab</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">In diesem Chat sind Direktnachrichten zwischen Mitgliedern nicht erlaubt.</string>
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Kein Hintergrund-Service</string>
|
||||
<string name="onboarding_notifications_mode_periodic_desc_short">Nachrichten alle 10 Minuten überprüfen</string>
|
||||
<string name="onboarding_notifications_mode_battery">Benachrichtigungen und Akku</string>
|
||||
<string name="invite_to_chat_button">Zum Chat einladen</string>
|
||||
<string name="connect_plan_chat_already_exists">Chat besteht bereits!</string>
|
||||
<string name="chat_bottom_bar">Chat-Symbolleiste unten</string>
|
||||
<string name="button_leave_chat">Chat verlassen</string>
|
||||
<string name="member_will_be_removed_from_chat_cannot_be_undone">Das Mitglied wird aus dem Chat entfernt. Dies kann nicht rückgängig gemacht werden!</string>
|
||||
<string name="chat_main_profile_sent">Ihr Chat-Profil wird an die Chat-Mitglieder gesendet.</string>
|
||||
<string name="direct_messages_are_prohibited">Direktnachrichten zwischen Mitgliedern sind nicht erlaubt.</string>
|
||||
<string name="how_it_helps_privacy">Wie die Privatsphäre geschützt wird</string>
|
||||
<string name="leave_chat_question">Chat verlassen?</string>
|
||||
<string name="delete_chat_question">Chat löschen?</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">Der Chat wird für alle Mitglieder gelöscht. Dies kann nicht rückgängig gemacht werden!</string>
|
||||
<string name="v6_2_business_chats_descr">Schutz der Privatsphäre Ihrer Kunden.</string>
|
||||
<string name="display_name_requested_to_connect">Zur Verbindung aufgefordert</string>
|
||||
<string name="maximum_message_size_reached_non_text">Bitte verkleinern Sie die Nachrichten-Größe oder entfernen Sie Medien und versenden Sie diese erneut.</string>
|
||||
<string name="only_chat_owners_can_change_prefs">Nur Chat-Eigentümer können die Präferenzen ändern.</string>
|
||||
<string name="maximum_message_size_reached_text">Bitte verkleinern Sie die Nachrichten-Größe und versenden Sie diese erneut.</string>
|
||||
<string name="member_role_will_be_changed_with_notification_chat">Die Rolle wird auf %s geändert. Im Chat wird Jeder darüber informiert.</string>
|
||||
<string name="you_will_stop_receiving_messages_from_this_chat_chat_history_will_be_preserved">Sie werden von diesem Chat keine Nachrichten mehr erhalten. Der Nachrichtenverlauf wird beibehalten.</string>
|
||||
<string name="maximum_message_size_reached_forwarding">Sie können die Nachricht kopieren und verkleinern, um sie zu versenden.</string>
|
||||
<string name="button_delete_chat">Chat löschen</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">Der Chat wird für Sie gelöscht. Dies kann nicht rückgängig gemacht werden!</string>
|
||||
<string name="maximum_message_size_title">Die Nachricht ist zu umfangreich!</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Wenn mehr als ein Betreiber aktiviert ist, hat keiner von ihnen Metadaten, um zu erfahren, wer mit wem kommuniziert.</string>
|
||||
<string name="info_row_chat">Chat</string>
|
||||
<string name="connect_plan_you_are_already_connected_with_vName"><![CDATA[Sie sind bereits mit <b>%1$s</b> verbunden.]]></string>
|
||||
<string name="onboarding_network_about_operators">Über Betreiber</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX-Chat und Flux haben vereinbart, die von Flux betriebenen Server in die App aufzunehmen.</string>
|
||||
</resources>
|
||||
@@ -36,8 +36,7 @@
|
||||
<string name="appearance_settings">Apariencia</string>
|
||||
<string name="app_version_title">Versión</string>
|
||||
<string name="network_session_mode_user_description"><![CDATA[Se usará una conexión TCP (y credenciales SOCKS) independiente <b>por cada perfil que tengas en la aplicación</b>.]]></string>
|
||||
<string name="network_session_mode_entity_description">Se usará una conexión TCP (y credenciales SOCKS) independiente <b>por cada contacto y miembro del grupo</b>.
|
||||
\n<b>Recuerda</b>: si tienes muchas conexiones, el consumo de batería y tráfico pueden ser sustancialmente mayores y algunas conexiones pueden fallar.</string>
|
||||
<string name="network_session_mode_entity_description">Se usará una conexión TCP (y credenciales SOCKS) independiente <b>por cada contacto y miembro del grupo</b>. \n<b>Recuerda</b>: si tienes muchas conexiones, el consumo de batería y tráfico pueden aumentar bastante y algunas conexiones pueden fallar.</string>
|
||||
<string name="a_plus_b">a + b</string>
|
||||
<string name="about_simplex">Acerca de SimpleX</string>
|
||||
<string name="bold_text">negrita</string>
|
||||
@@ -94,7 +93,7 @@
|
||||
<string name="auth_device_authentication_is_not_enabled_you_can_turn_on_in_settings_once_enabled">Autenticación de dispositivo desactivada. Puedes habilitar Bloqueo SimpleX en Configuración, después de activar la autenticación de dispositivo.</string>
|
||||
<string name="no_call_on_lock_screen">Desactivar</string>
|
||||
<string name="disappearing_prohibited_in_this_chat">Los mensajes temporales no están permitidos en este chat.</string>
|
||||
<string name="disappearing_messages_are_prohibited">Los mensajes temporales no están permitidos en este grupo.</string>
|
||||
<string name="disappearing_messages_are_prohibited">Mensajes temporales no permitidos.</string>
|
||||
<string name="display_name_cannot_contain_whitespace">El nombre mostrado no puede contener espacios en blanco.</string>
|
||||
<string name="encrypted_video_call">Videollamada con cifrado de extremo a extremo</string>
|
||||
<string name="display_name_connection_established">conexión establecida</string>
|
||||
@@ -337,7 +336,7 @@
|
||||
<string name="enter_passphrase">Introduce la contraseña…</string>
|
||||
<string name="icon_descr_group_inactive">Grupo inactivo</string>
|
||||
<string name="group_member_status_group_deleted">grupo eliminado</string>
|
||||
<string name="group_members_can_send_disappearing">Los miembros del grupo pueden enviar mensajes temporales.</string>
|
||||
<string name="group_members_can_send_disappearing">Los miembros pueden enviar mensajes temporales.</string>
|
||||
<string name="v4_2_group_links">Enlaces de grupo</string>
|
||||
<string name="invalid_connection_link">Enlace de conexión no válido</string>
|
||||
<string name="error_accepting_contact_request">Error al aceptar solicitud del contacto</string>
|
||||
@@ -357,7 +356,7 @@
|
||||
<string name="error_deleting_database">Error al eliminar base de datos</string>
|
||||
<string name="encrypted_database">Base de datos cifrada</string>
|
||||
<string name="error_removing_member">Error al eliminar miembro</string>
|
||||
<string name="group_members_can_send_voice">Los miembros del grupo pueden enviar mensajes de voz.</string>
|
||||
<string name="group_members_can_send_voice">Los miembros pueden enviar mensajes de voz.</string>
|
||||
<string name="description_via_contact_address_link_incognito">en modo incógnito mediante enlace de dirección del contacto</string>
|
||||
<string name="failed_to_create_user_title">¡Error al crear perfil!</string>
|
||||
<string name="failed_to_parse_chat_title">No se pudo cargar el chat</string>
|
||||
@@ -407,8 +406,8 @@
|
||||
<string name="conn_stats_section_title_servers">SERVIDORES</string>
|
||||
<string name="group_display_name_field">Nombre del grupo:</string>
|
||||
<string name="group_preferences">Preferencias del grupo</string>
|
||||
<string name="group_members_can_send_dms">Los miembros del grupo pueden enviar mensajes directos.</string>
|
||||
<string name="group_members_can_delete">Los miembros del grupo pueden eliminar mensajes de forma irreversible. (24 horas)</string>
|
||||
<string name="group_members_can_send_dms">Los miembros pueden enviar mensajes directos.</string>
|
||||
<string name="group_members_can_delete">Los miembros pueden eliminar mensajes enviados de forma irreversible. (24 horas)</string>
|
||||
<string name="v4_3_improved_privacy_and_security_desc">Ocultar pantalla de aplicaciones en aplicaciones recientes.</string>
|
||||
<string name="encrypt_database">Cifrar</string>
|
||||
<string name="icon_descr_expand_role">Ampliar la selección de roles</string>
|
||||
@@ -431,7 +430,7 @@
|
||||
<string name="how_it_works">Cómo funciona</string>
|
||||
<string name="delete_message_cannot_be_undone_warning">El mensaje será eliminado. ¡No podrá deshacerse!</string>
|
||||
<string name="incognito_info_protects">El modo incógnito protege tu privacidad creando un perfil aleatorio por cada contacto.</string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[Para usar SimpleX, por favor <b>permite que SimpleX se ejecute en segundo plano</b> en el siguiente cuadro de diálogo. De lo contrario las notificaciones se desactivarán.]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[<b>Da permiso</b> en el siguiente diálogo para recibir notificaciones instantáneas.]]></string>
|
||||
<string name="install_simplex_chat_for_terminal">Instalar terminal de SimpleX Chat</string>
|
||||
<string name="group_invitation_item_description">invitación al grupo %1$s</string>
|
||||
<string name="rcv_group_event_member_added">ha invitado a %1$s</string>
|
||||
@@ -443,7 +442,7 @@
|
||||
<string name="icon_descr_instant_notifications">Notificación instantánea</string>
|
||||
<string name="network_settings_title">Configuración avanzada</string>
|
||||
<string name="only_client_devices_store_contacts_groups_e2e_encrypted_messages">Sólo los dispositivos cliente almacenan perfiles de usuario, contactos, grupos y mensajes.</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Puedes cambiar estos ajustes más tarde en Configuración.</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Cómo afecta a la batería</string>
|
||||
<string name="onboarding_notifications_mode_service">Instantánea</string>
|
||||
<string name="join_group_button">Unirte</string>
|
||||
<string name="join_group_incognito_button">Unirte en modo incógnito</string>
|
||||
@@ -451,7 +450,7 @@
|
||||
<string name="theme_light">Claro</string>
|
||||
<string name="chat_preferences_on">Activado</string>
|
||||
<string name="message_deletion_prohibited">La eliminación irreversible de mensajes no está permitida en este chat.</string>
|
||||
<string name="message_deletion_prohibited_in_chat">La eliminación irreversible de mensajes no está permitida en este grupo.</string>
|
||||
<string name="message_deletion_prohibited_in_chat">Eliminación irreversible no permitida.</string>
|
||||
<string name="v4_3_improved_server_configuration">Configuración del servidor mejorada</string>
|
||||
<string name="alert_text_skipped_messages_it_can_happen_when">Esto puede ocurrir cuando:
|
||||
\n1. Los mensajes hayan caducado en el cliente saliente tras 2 días o en el servidor tras 30 días.
|
||||
@@ -555,7 +554,7 @@
|
||||
<string name="snd_conn_event_switch_queue_phase_completed_for_member">has cambiado el servidor para %s</string>
|
||||
<string name="rcv_group_event_member_left">ha salido</string>
|
||||
<string name="button_leave_group">Salir del grupo</string>
|
||||
<string name="only_group_owners_can_change_prefs">Sólo los propietarios pueden modificar las preferencias del grupo.</string>
|
||||
<string name="only_group_owners_can_change_prefs">Sólo los propietarios del grupo pueden cambiar las preferencias.</string>
|
||||
<string name="users_delete_data_only">Eliminar sólo el perfil</string>
|
||||
<string name="chat_preferences_no">no</string>
|
||||
<string name="thousand_abbreviation">k</string>
|
||||
@@ -642,7 +641,7 @@
|
||||
<string name="icon_descr_profile_image_placeholder">Espacio reservado para la imagen del perfil</string>
|
||||
<string name="image_descr_qr_code">Código QR</string>
|
||||
<string name="chat_with_the_founder">Consultas y sugerencias</string>
|
||||
<string name="smp_servers_preset_address">Dirección del servidor predefinida</string>
|
||||
<string name="smp_servers_preset_address">Dirección predefinida del servidor</string>
|
||||
<string name="send_us_an_email">Contacta vía email</string>
|
||||
<string name="rate_the_app">Valora la aplicación</string>
|
||||
<string name="save_servers_button">Guardar</string>
|
||||
@@ -718,7 +717,7 @@
|
||||
<string name="icon_descr_sent_msg_status_unauthorized_send">envío no autorizado</string>
|
||||
<string name="set_contact_name">Escribe un nombre para el contacto</string>
|
||||
<string name="unknown_error">Error desconocido</string>
|
||||
<string name="member_role_will_be_changed_with_notification">El rol del miembro cambiará a "%s" y se notificará al grupo.</string>
|
||||
<string name="member_role_will_be_changed_with_notification">El rol cambiará a %s. Todos serán notificados.</string>
|
||||
<string name="v4_2_security_assessment_desc">La seguridad de SimpleX Chat ha sido auditada por Trail of Bits.</string>
|
||||
<string name="v4_4_disappearing_messages_desc">Los mensajes enviados se eliminarán una vez transcurrido el tiempo establecido.</string>
|
||||
<string name="ntf_channel_messages">Mensajes de chat SimpleX</string>
|
||||
@@ -733,16 +732,15 @@
|
||||
<string name="share_invitation_link">Compartir enlace de un uso</string>
|
||||
<string name="update_network_session_mode_question">¿Actualizar el modo de aislamiento de transporte\?</string>
|
||||
<string name="icon_descr_speaker_on">Altavoz activado</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Para habilitar las acciones sobre la base de datos, debes parar SimpleX</string>
|
||||
<string name="connection_you_accepted_will_be_cancelled">¡La conexión que has aceptado se cancelará!</string>
|
||||
<string name="database_initialization_error_desc">La base de datos no funciona correctamente. Pulsa para conocer más</string>
|
||||
<string name="moderate_message_will_be_marked_warning">El mensaje será marcado como moderado para todos los miembros.</string>
|
||||
<string name="next_generation_of_private_messaging">La nueva generación \nde mensajería privada</string>
|
||||
<string name="next_generation_of_private_messaging">El futuro de la mensajería</string>
|
||||
<string name="delete_files_and_media_desc">Esta acción es irreversible. Se eliminarán todos los archivos y multimedia recibidos y enviados. Las imágenes de baja resolución permanecerán.</string>
|
||||
<string name="enable_automatic_deletion_message">Esta acción es irreversible. Los mensajes enviados y recibidos anteriores a la selección serán eliminados. Podría tardar varios minutos.</string>
|
||||
<string name="messages_section_description">Esta configuración se aplica a los mensajes del perfil actual</string>
|
||||
<string name="this_string_is_not_a_connection_link">¡Esta cadena no es un enlace de conexión!</string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Para preservar tu privacidad, en lugar de notificaciones automáticas la aplicación cuenta con un <b>servicio en segundo planoSimpleX</b>, usa un pequeño porcentaje de la batería al día.]]></string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Para mejorar la privacidad <b>SimpleX se ejecuta en segundo plano</b> en lugar de usar notificaciones push.]]></string>
|
||||
<string name="icon_descr_settings">Configuración</string>
|
||||
<string name="icon_descr_speaker_off">Altavoz desactivado</string>
|
||||
<string name="add_contact_or_create_group">Inciar chat nuevo</string>
|
||||
@@ -786,7 +784,7 @@
|
||||
<string name="smp_servers_test_server">Probar servidor</string>
|
||||
<string name="smp_servers_test_servers">Probar servidores</string>
|
||||
<string name="star_on_github">Estrella en GitHub</string>
|
||||
<string name="smp_servers_per_user">Lista de servidores para las conexiones nuevas de tu perfil actual</string>
|
||||
<string name="smp_servers_per_user">Servidores para conexiones nuevas en tu perfil</string>
|
||||
<string name="network_disable_socks">¿Usar conexión directa a Internet\?</string>
|
||||
<string name="profile_is_only_shared_with_your_contacts">El perfil sólo se comparte con tus contactos.</string>
|
||||
<string name="callstate_starting">inicializando…</string>
|
||||
@@ -805,7 +803,7 @@
|
||||
<string name="update_database_passphrase">Actualizar contraseña base de datos</string>
|
||||
<string name="group_invitation_tap_to_join_incognito">Pulsa para unirte en modo incógnito</string>
|
||||
<string name="switch_verb">Cambiar</string>
|
||||
<string name="member_role_will_be_changed_with_invitation">El rol del miembro cambiará a "%s" y recibirá una invitación nueva.</string>
|
||||
<string name="member_role_will_be_changed_with_invitation">El rol cambiará a %s y el miembro recibirá una invitación nueva.</string>
|
||||
<string name="update_network_settings_confirmation">Actualizar</string>
|
||||
<string name="update_network_settings_question">¿Actualizar la configuración de red\?</string>
|
||||
<string name="trying_to_connect_to_server_to_receive_messages">Intentando conectar con el servidor para recibir mensajes de este contacto.</string>
|
||||
@@ -826,7 +824,7 @@
|
||||
<string name="smp_servers_test_failed">¡Prueba no superada!</string>
|
||||
<string name="smp_servers_test_some_failed">Algunos servidores no han superado la prueba:</string>
|
||||
<string name="smp_servers_use_server">Usar servidor</string>
|
||||
<string name="smp_servers_use_server_for_new_conn">Usar para conexiones nuevas</string>
|
||||
<string name="smp_servers_use_server_for_new_conn">Para conexiones nuevas</string>
|
||||
<string name="theme_system">Sistema</string>
|
||||
<string name="description_via_one_time_link">mediante enlace de un solo uso</string>
|
||||
<string name="your_chats">Chats</string>
|
||||
@@ -841,9 +839,9 @@
|
||||
<string name="v4_3_voice_messages">Mensajes de voz</string>
|
||||
<string name="v4_3_irreversible_message_deletion_desc">Tus contactos pueden permitir la eliminación completa de mensajes.</string>
|
||||
<string name="voice_messages">Mensajes de voz</string>
|
||||
<string name="voice_messages_are_prohibited">Los mensajes de voz no están permitidos en este grupo.</string>
|
||||
<string name="voice_messages_are_prohibited">Mensajes de voz no permitidos.</string>
|
||||
<string name="v4_4_verify_connection_security">Comprobar la seguridad de la conexión</string>
|
||||
<string name="you_are_already_connected_to_vName_via_this_link">¡Ya estás conectado a %1$s.</string>
|
||||
<string name="you_are_already_connected_to_vName_via_this_link">¡Ya estás conectado con %1$s.</string>
|
||||
<string name="welcome">¡Bienvenido!</string>
|
||||
<string name="your_chat_profile_will_be_sent_to_your_contact">Tu perfil será enviado
|
||||
\na tu contacto</string>
|
||||
@@ -1029,7 +1027,7 @@
|
||||
<string name="your_XFTP_servers">Servidores XFTP</string>
|
||||
<string name="port_verb">Puerto</string>
|
||||
<string name="network_proxy_port">puerto %d</string>
|
||||
<string name="disable_onion_hosts_when_not_supported"><![CDATA[Configura <i>Usar hosts .onion</i> como <i>No</i> si el proxy SOCKS no los admite.]]></string>
|
||||
<string name="disable_onion_hosts_when_not_supported"><![CDATA[<i>Usar hosts .onion</i> debe estar a <i>No</i> si el proxy SOCKS no los admite.]]></string>
|
||||
<string name="smp_server_test_download_file">Descargar archivo</string>
|
||||
<string name="network_socks_toggle_use_socks_proxy">Usar proxy SOCKS</string>
|
||||
<string name="host_verb">Host</string>
|
||||
@@ -1209,7 +1207,7 @@
|
||||
<string name="custom_time_unit_weeks">semanas</string>
|
||||
<string name="error_loading_details">Error al cargar detalles</string>
|
||||
<string name="group_members_can_add_message_reactions">Los miembros pueden añadir reacciones a los mensajes.</string>
|
||||
<string name="message_reactions_are_prohibited">Las reacciones a los mensajes no están permitidas en este grupo.</string>
|
||||
<string name="message_reactions_are_prohibited">Reacciones a los mensajes no permitidas.</string>
|
||||
<string name="only_your_contact_can_add_message_reactions">Sólo tu contacto puede añadir reacciones a los mensajes.</string>
|
||||
<string name="send_disappearing_message_1_minute">1 minuto</string>
|
||||
<string name="info_row_updated_at">Registro actualiz</string>
|
||||
@@ -1229,12 +1227,12 @@
|
||||
<string name="v5_1_custom_themes_descr">Personalizar y compartir temas de color.</string>
|
||||
<string name="v5_1_message_reactions_descr">¡Por fin los tenemos! 🚀</string>
|
||||
<string name="v5_1_message_reactions">Reacciones a los mensajes</string>
|
||||
<string name="whats_new_read_more">Conoce más</string>
|
||||
<string name="whats_new_read_more">Saber más</string>
|
||||
<string name="v5_1_japanese_portuguese_interface">Interfaz en japonés y portugués</string>
|
||||
<string name="item_info_no_text">sin texto</string>
|
||||
<string name="non_fatal_errors_occured_during_import">Han ocurrido algunos errores no críticos durante la importación:</string>
|
||||
<string name="shutdown_alert_question">¿Cerrar\?</string>
|
||||
<string name="settings_section_title_app">Aplicación</string>
|
||||
<string name="settings_section_title_app">APLICACIÓN</string>
|
||||
<string name="settings_restart_app">Reiniciar</string>
|
||||
<string name="settings_shutdown">Cerrar</string>
|
||||
<string name="shutdown_alert_desc">Las notificaciones dejarán de funcionar hasta que reinicies la aplicación</string>
|
||||
@@ -1249,8 +1247,8 @@
|
||||
<string name="abort_switch_receiving_address">Cancelar cambio de dirección</string>
|
||||
<string name="files_and_media">Archivos y multimedia</string>
|
||||
<string name="prohibit_sending_files">No se permite el envío de archivos y multimedia.</string>
|
||||
<string name="files_are_prohibited_in_group">Los archivos y multimedia no están permitidos en este grupo.</string>
|
||||
<string name="group_members_can_send_files">Los miembros del grupo pueden enviar archivos y multimedia.</string>
|
||||
<string name="files_are_prohibited_in_group">Archivos y multimedia no permitidos.</string>
|
||||
<string name="group_members_can_send_files">Los miembros pueden enviar archivos y multimedia.</string>
|
||||
<string name="allow_to_send_files">Se permite enviar archivos y multimedia</string>
|
||||
<string name="favorite_chat">Favorito</string>
|
||||
<string name="only_owners_can_enable_files_and_media">Sólo los propietarios del grupo pueden activar los archivos y multimedia.</string>
|
||||
@@ -1357,7 +1355,7 @@
|
||||
<string name="you_can_change_it_later">La contraseña aleatoria se almacenará en Configuración como texto plano.
|
||||
\nPuedes cambiarlo más tarde.</string>
|
||||
<string name="database_encryption_will_be_updated_in_settings">La contraseña para el cifrado de la base de datos se actualizará y almacenará en Configuración</string>
|
||||
<string name="remove_passphrase_from_settings">Eliminar contraseña de configuración\?</string>
|
||||
<string name="remove_passphrase_from_settings">¿Eliminar contraseña de configuración?</string>
|
||||
<string name="use_random_passphrase">Usar contraseña aleatoria</string>
|
||||
<string name="save_passphrase_in_settings">Guardar contraseña en configuración</string>
|
||||
<string name="setup_database_passphrase">Configuración contraseña base de datos</string>
|
||||
@@ -1369,7 +1367,7 @@
|
||||
<string name="v5_3_encrypt_local_files">Cifra archivos almacenados y multimedia</string>
|
||||
<string name="error_creating_member_contact">Error al establecer contacto con el miembro</string>
|
||||
<string name="socks_proxy_setting_limitations"><![CDATA[<b>Recuerda</b>: los servidores están conectados mediante proxy SOCKS, pero las llamadas y las previsualizaciones de enlaces usan conexión directa.]]></string>
|
||||
<string name="encrypt_local_files">Cifra archivos locales</string>
|
||||
<string name="encrypt_local_files">Cifrar archivos locales</string>
|
||||
<string name="v5_3_new_desktop_app">Nueva aplicación para ordenador!</string>
|
||||
<string name="v5_3_new_interface_languages">6 idiomas nuevos para el interfaz</string>
|
||||
<string name="v5_3_encrypt_local_files_descr">Cifrado de los nuevos archivos locales (excepto vídeos).</string>
|
||||
@@ -1716,8 +1714,8 @@
|
||||
<string name="simplex_links_not_allowed">Enlaces SimpleX no permitidos</string>
|
||||
<string name="voice_messages_not_allowed">Mensajes de voz no permitidos</string>
|
||||
<string name="simplex_links">Enlaces SimpleX</string>
|
||||
<string name="group_members_can_send_simplex_links">Los miembros del grupo pueden enviar enlaces SimpleX.</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">Los enlaces SimpleX no se permiten en este grupo.</string>
|
||||
<string name="group_members_can_send_simplex_links">Los miembros pueden enviar enlaces SimpleX.</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">Enlaces SimpleX no permitidos.</string>
|
||||
<string name="feature_roles_owners">propietarios</string>
|
||||
<string name="network_type_cellular">Móvil</string>
|
||||
<string name="network_type_no_network_connection">Sin conexión de red</string>
|
||||
@@ -1898,7 +1896,7 @@
|
||||
<string name="decryption_errors">errores de descifrado</string>
|
||||
<string name="deleted">Eliminadas</string>
|
||||
<string name="deletion_errors">Errores de eliminación</string>
|
||||
<string name="member_info_member_disabled">desactivado</string>
|
||||
<string name="member_info_member_disabled">inactivo</string>
|
||||
<string name="message_forwarded_title">Mensaje reenviado</string>
|
||||
<string name="member_inactive_desc">El mensaje puede ser entregado más tarde si el miembro vuelve a estar activo.</string>
|
||||
<string name="member_inactive_title">Miembro inactivo</string>
|
||||
@@ -1969,8 +1967,7 @@
|
||||
<string name="size">Tamaño</string>
|
||||
<string name="servers_info_subscriptions_connections_subscribed">Conexiones activas</string>
|
||||
<string name="servers_info_starting_from">Iniciado el %s.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Iniciado el %s
|
||||
\nTodos los datos son privados a tu dispositivo</string>
|
||||
<string name="servers_info_private_data_disclaimer">Iniciado el %s \nLa información es privada en tu dispositivo.</string>
|
||||
<string name="chunks_deleted">Bloques eliminados</string>
|
||||
<string name="chunks_downloaded">Bloques descargados</string>
|
||||
<string name="chunks_uploaded">Bloques subidos</string>
|
||||
@@ -1991,7 +1988,7 @@
|
||||
<string name="privacy_media_blur_radius_medium">Medio</string>
|
||||
<string name="privacy_media_blur_radius_soft">Suave</string>
|
||||
<string name="one_hand_ui">Barra de herramientas accesible</string>
|
||||
<string name="info_view_call_button">llamada</string>
|
||||
<string name="info_view_call_button">llamar</string>
|
||||
<string name="info_view_connect_button">conectar</string>
|
||||
<string name="delete_members_messages__question">¿Eliminar %d mensajes de miembros?</string>
|
||||
<string name="info_view_message_button">mensaje</string>
|
||||
@@ -2040,7 +2037,7 @@
|
||||
<string name="proxy_destination_error_broker_host">La dirección del servidor de destino de %1$s es incompatible con la configuración del servidor de reenvío %2$s.</string>
|
||||
<string name="proxy_destination_error_broker_version">La versión del servidor de destino de %1$s es incompatible con el servidor de reenvío %2$s.</string>
|
||||
<string name="contact_list_header_title">Tus contactos</string>
|
||||
<string name="you_need_to_allow_calls">Necesitas permitir que tus contacto llamen para poder llamarles.</string>
|
||||
<string name="you_need_to_allow_calls">Debes permitir que tus contacto te llamen para poder llamarles.</string>
|
||||
<string name="smp_proxy_error_connecting">Error al conectar con el servidor de reenvío %1$s. Por favor, inténtalo más tarde.</string>
|
||||
<string name="smp_proxy_error_broker_host">La dirección del servidor de reenvío es incompatible con la configuración de red: %1$s.</string>
|
||||
<string name="proxy_destination_error_failed_to_connect">El servidor de reenvío %1$s no ha podido conectarse al servidor de destino %2$s. Por favor, intentalo más tarde.</string>
|
||||
@@ -2084,8 +2081,8 @@
|
||||
<string name="network_proxy_incorrect_config_title">Error guardando proxy</string>
|
||||
<string name="network_proxy_password">Contraseña</string>
|
||||
<string name="network_proxy_auth">Autenticación proxy</string>
|
||||
<string name="network_proxy_auth_mode_isolate_by_auth_entity">Credenciales proxy diferentes para cada conexión.</string>
|
||||
<string name="network_proxy_auth_mode_isolate_by_auth_user">Credenciales proxy diferentes para cada perfil.</string>
|
||||
<string name="network_proxy_auth_mode_isolate_by_auth_entity">Se usan credenciales proxy diferentes para cada conexión.</string>
|
||||
<string name="network_proxy_auth_mode_isolate_by_auth_user">Se usan credenciales proxy diferentes para cada perfil.</string>
|
||||
<string name="network_proxy_random_credentials">Credenciales aleatorias</string>
|
||||
<string name="network_proxy_username">Nombre de usuario</string>
|
||||
<string name="network_proxy_auth_mode_username_password">Tus credenciales podrían ser enviadas sin cifrar.</string>
|
||||
@@ -2102,12 +2099,12 @@
|
||||
<string name="settings_message_shape_corner">Esquinas</string>
|
||||
<string name="settings_message_shape_tail">Cola</string>
|
||||
<string name="network_session_mode_session_description">Se usarán credenciales SOCKS nuevas cada vez que inicies la aplicación.</string>
|
||||
<string name="network_session_mode_session">Sesión de aplicación</string>
|
||||
<string name="network_session_mode_session">por sesión</string>
|
||||
<string name="call_desktop_permission_denied_safari">Abre la configuración de Safari / Sitios Web / Micrófono y a continuación selecciona Permitir para localhost.</string>
|
||||
<string name="call_desktop_permission_denied_chrome">Pulsa el botón info del campo dirección para permitir el uso del micrófono.</string>
|
||||
<string name="call_desktop_permission_denied_title">Para hacer llamadas, permite el uso del micrófono. Cuelga e intenta llamar de nuevo.</string>
|
||||
<string name="network_session_mode_server_description">Se usarán credenciales SOCKS nuevas por cada servidor.</string>
|
||||
<string name="network_session_mode_server">Servidor</string>
|
||||
<string name="network_session_mode_server_description">Se usarán credenciales SOCKS nuevas para cada servidor.</string>
|
||||
<string name="network_session_mode_server">por servidor</string>
|
||||
<string name="v6_1_better_calls">Llamadas mejoradas</string>
|
||||
<string name="v6_1_message_dates_descr">Sistema de fechas mejorado.</string>
|
||||
<string name="v6_1_better_user_experience">Experiencia de usuario mejorada</string>
|
||||
@@ -2121,17 +2118,17 @@
|
||||
<string name="failed_to_save_servers">Error al guardar servidores</string>
|
||||
<string name="errors_in_servers_configuration">Error en la configuración del servidor.</string>
|
||||
<string name="for_chat_profile">Para el perfil de chat %s:</string>
|
||||
<string name="no_message_servers_configured">Ningún servidor de mensajes.</string>
|
||||
<string name="no_media_servers_configured_for_private_routing">Ningún servidor para recibir archivos.</string>
|
||||
<string name="no_media_servers_configured_for_sending">Ningún servidor para enviar archivos.</string>
|
||||
<string name="no_message_servers_configured">Sin servidores para mensajes.</string>
|
||||
<string name="no_media_servers_configured_for_private_routing">Sin servidores para recibir archivos.</string>
|
||||
<string name="no_media_servers_configured_for_sending">Sin servidores para enviar archivos.</string>
|
||||
<string name="connection_security">Seguridad de conexión</string>
|
||||
<string name="share_1_time_link_with_a_friend">Compartir enlace de un uso con un amigo</string>
|
||||
<string name="share_simplex_address_on_social_media">Compartir dirección SimpleX en redes sociales.</string>
|
||||
<string name="share_simplex_address_on_social_media">Comparte tu dirección SimpleX en redes sociales.</string>
|
||||
<string name="address_settings">Configuración de dirección</string>
|
||||
<string name="create_1_time_link">Crear enlace de un uso</string>
|
||||
<string name="for_social_media">Para redes sociales</string>
|
||||
<string name="simplex_address_or_1_time_link">Dirección SimpleX o enlace de un uso?</string>
|
||||
<string name="onboarding_choose_server_operators">Selecciona operadores</string>
|
||||
<string name="simplex_address_or_1_time_link">¿Dirección SimpleX o enlace de un uso?</string>
|
||||
<string name="onboarding_choose_server_operators">Operadores de servidores</string>
|
||||
<string name="onboarding_network_operators">Operadores de red</string>
|
||||
<string name="onboarding_network_operators_conditions_will_be_accepted">Las condiciones de los operadores habilitados serán aceptadas después de 30 días.</string>
|
||||
<string name="onboarding_network_operators_review_later">Revisar más tarde</string>
|
||||
@@ -2143,7 +2140,7 @@
|
||||
<string name="operator_servers_title">%s servidores</string>
|
||||
<string name="operator_conditions_will_be_accepted_on">Las condiciones serán aceptadas el: %s.</string>
|
||||
<string name="operator_conditions_of_use">Condiciones de uso</string>
|
||||
<string name="operator_use_for_messages_private_routing">Para el enrutamiento privado</string>
|
||||
<string name="operator_use_for_messages_private_routing">Para enrutamiento privado</string>
|
||||
<string name="error_adding_server">Error al añadir servidor</string>
|
||||
<string name="operator_open_changes">Abrir cambios</string>
|
||||
<string name="operator_open_conditions">Abrir condiciones</string>
|
||||
@@ -2163,20 +2160,20 @@
|
||||
<string name="operator_conditions_accepted_for_enabled_operators_on">Las condiciones serán aceptadas automáticamente para los operadores habilitados el: %s.</string>
|
||||
<string name="onboarding_network_operators_continue">Continuar</string>
|
||||
<string name="operator_conditions_failed_to_load">El texto con las condiciones actuales no se ha podido cargar, puedes revisar las condiciones en el siguiente enlace:</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux">Habilitar Flux</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux">Habilita Flux</string>
|
||||
<string name="error_accepting_operator_conditions">Error al aceptar las condiciones</string>
|
||||
<string name="error_updating_server_title">Error al actualizar el servidor</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux_reason">para mayor privacidad de los metadatos.</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux_reason">para mejorar la privacidad de los metadatos.</string>
|
||||
<string name="message_deleted_or_not_received_error_title">Ningún mensaje</string>
|
||||
<string name="smp_servers_new_server">Servidor nuevo</string>
|
||||
<string name="no_media_servers_configured">Ningún servidor de archivos y multimedia.</string>
|
||||
<string name="no_message_servers_configured_for_private_routing">Ningún servidor para enrutamiento privado.</string>
|
||||
<string name="no_message_servers_configured_for_receiving">Ningún servidor para recibir mensajes.</string>
|
||||
<string name="no_media_servers_configured">Sin servidores para archivos y multimedia.</string>
|
||||
<string name="no_message_servers_configured_for_private_routing">Sin servidores para enrutamiento privado.</string>
|
||||
<string name="no_message_servers_configured_for_receiving">Sin servidores para recibir mensajes.</string>
|
||||
<string name="operator_server_alert_title">Servidor del operador</string>
|
||||
<string name="or_to_share_privately">O para compartir en privado</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Selecciona los operadores de red a utilizar</string>
|
||||
<string name="share_address_publicly">Campartir dirección públicamente</string>
|
||||
<string name="simplex_address_and_1_time_links_are_safe_to_share">Compartir enlaces de un uso y direcciones SimpleX es seguro a través de cualquier medio.</string>
|
||||
<string name="simplex_address_and_1_time_links_are_safe_to_share">Compartir los enlaces de un uso y las direcciones SimpleX es seguro a través de cualquier medio.</string>
|
||||
<string name="onboarding_network_operators_update">Actualizar</string>
|
||||
<string name="operator_website">Sitio web</string>
|
||||
<string name="your_servers">Tus servidores</string>
|
||||
@@ -2192,25 +2189,65 @@
|
||||
<string name="connection_error_quota">Mensajes no entregados</string>
|
||||
<string name="one_time_link_can_be_used_with_one_contact_only"><![CDATA[Los enlaces de un uso pueden ser usados <i>solamente con un contacto</i> - comparte en persona o mediante cualquier aplicación de mensajería.]]></string>
|
||||
<string name="you_can_set_connection_name_to_remember">Puedes añadir un nombre a la conexión para recordar a quién corresponde.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Cuando está habilitado más de un operador de red, la aplicación usa servidores de diferentes operadores para cada conversación.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">La aplicación protege tu privacidad mediante el uso de diferentes operadores en cada conversación.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Puedes configurar los operadores desde Servidores y Redes.</string>
|
||||
<string name="operators_conditions_accepted_for"><![CDATA[Las condiciones se han aceptado para el(los) operador(s): <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_be_accepted_for"><![CDATA[Las condiciones serán aceptadas para el/los operador(es): <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Las mismas condiciones se aplicarán al operador <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Las mismas condiciones se aplican al operador <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[Las condiciones serán aceptadas para el/los operador(es): <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_also_apply"><![CDATA[Estas condiciones también se aplican para: <b>%s</b>.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Para usar los servidores de <b>%s</b>, acepta las condiciones de uso.]]></string>
|
||||
<string name="xftp_servers_per_user">Los servidores para archivos nuevos en tu perfil actual</string>
|
||||
<string name="v6_2_network_decentralization_descr">El segundo operador predefinido!</string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Para usar los servidores de <b>%s</b>, debes aceptar las condiciones de uso.]]></string>
|
||||
<string name="xftp_servers_per_user">Servidores para archivos nuevos en tu perfil</string>
|
||||
<string name="v6_2_network_decentralization_descr">¡Segundo operador predefinido!</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">Puedes configurar los servidores a través de su configuración.</string>
|
||||
<string name="to_protect_against_your_link_replaced_compare_codes">Para protegerte contra una sustitución del enlace, puedes comparar los códigos de seguridad con tu contacto.</string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Las mismas condiciones se aplicarán a el/los operador(es) <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Las mismas condiciones se aplican a el/los operador(es) <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[Estas condiciones también se aplican para: <b>%s</b>.]]></string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Si por ejemplo recibes los mensajes a través de un servidor de SimpleX Chat, la aplicación usará uno de Flux para el enrutamiento privado.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Por ejemplo, si tu contacto recibe a través de un servidor de SimpleX Chat, tu aplicación enviará a través de un servidor de Flux.</string>
|
||||
<string name="address_creation_instruction">Pulsa Crear dirección SimpleX en el menú para crearla más tarde.</string>
|
||||
<string name="connection_error_quota_desc">La conexión ha alcanzado el límite de mensajes no entregados. es posible que tu contacto esté desconectado.</string>
|
||||
<string name="message_deleted_or_not_received_error_desc">El mensaje ha sido borrado o aún no se ha recibido.</string>
|
||||
<string name="remote_hosts_section">Móvil remoto</string>
|
||||
<string name="chat_archive">O importa desde un archivo</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">Mensajes directos entre miembros de este chat no permitidos.</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>En dispositivos Xiaomi:</b> por favor, habilita el Autoinicio en los ajustes del sistema para que las notificaciones funcionen.]]></string>
|
||||
<string name="maximum_message_size_reached_text">Por favor, reduce el tamaño del mensaje y envíalo de nuevo.</string>
|
||||
<string name="maximum_message_size_reached_non_text">Por favor, reduce el tamaño del mensaje o elimina los archivos y envíalo de nuevo.</string>
|
||||
<string name="maximum_message_size_reached_forwarding">Puedes copiar y reducir el tamaño del mensaje para enviarlo.</string>
|
||||
<string name="add_your_team_members_to_conversations">Añade a los miembros de tu equipo a las conversaciones.</string>
|
||||
<string name="onboarding_notifications_mode_battery">Notificaciones y batería</string>
|
||||
<string name="invite_to_chat_button">Invitar al chat</string>
|
||||
<string name="button_add_friends">Añadir amigos</string>
|
||||
<string name="button_add_team_members">Añadir miembros del equipo</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">El chat será eliminado para todos los miembros. ¡No podrá deshacerse!</string>
|
||||
<string name="button_delete_chat">Eliminar chat</string>
|
||||
<string name="delete_chat_question">¿Eliminar chat?</string>
|
||||
<string name="button_leave_chat">Salir del chat</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">El chat será eliminado para tí. ¡No podrá deshacerse!</string>
|
||||
<string name="only_chat_owners_can_change_prefs">Sólo los propietarios del chat pueden cambiar las preferencias.</string>
|
||||
<string name="member_will_be_removed_from_chat_cannot_be_undone">El miembro será eliminado del chat. ¡No podrá deshacerse!</string>
|
||||
<string name="member_role_will_be_changed_with_notification_chat">El rol cambiará a %s. Todos serán notificados.</string>
|
||||
<string name="you_will_stop_receiving_messages_from_this_chat_chat_history_will_be_preserved">Dejarás de recibir mensajes de este chat. El historial del chat se conserva.</string>
|
||||
<string name="how_it_helps_privacy">Cómo ayuda a la privacidad</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Cuando está habilitado más de un operador, ninguno dispone de los metadatos para conocer quién se comunica con quién.</string>
|
||||
<string name="chat_main_profile_sent">Tu perfil de chat será enviado a los miembros de chat</string>
|
||||
<string name="v6_2_business_chats">Chats empresariales</string>
|
||||
<string name="leave_chat_question">¿Salir del chat?</string>
|
||||
<string name="v6_2_business_chats_descr">Privacidad para tus clientes.</string>
|
||||
<string name="display_name_accepted_invitation">invitación aceptada</string>
|
||||
<string name="display_name_requested_to_connect">solicitado para conectar</string>
|
||||
<string name="business_address">Dirección empresarial</string>
|
||||
<string name="onboarding_notifications_mode_periodic_desc_short">Comprobar mensajes cada 10 min.</string>
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Sin servicio en segundo plano</string>
|
||||
<string name="info_row_chat">Chat</string>
|
||||
<string name="chat_bottom_bar">Barra de herramientas accesible</string>
|
||||
<string name="direct_messages_are_prohibited">Mensajes directos entre miembros no permitidos.</string>
|
||||
<string name="connect_plan_you_are_already_connected_with_vName"><![CDATA[Ya estás conectado con <b>%1$s</b>.]]></string>
|
||||
<string name="connect_plan_chat_already_exists">¡El chat ya existe!</string>
|
||||
<string name="onboarding_network_about_operators">Acerca de los operadores</string>
|
||||
<string name="onboarding_notifications_mode_service_desc_short">La aplicación siempre funciona en segundo plano</string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Todos los mensajes y archivos son enviados <b>cifrados de extremo a extremo</b> y con seguridad postcuántica en mensajes directos.]]></string>
|
||||
<string name="maximum_message_size_title">¡Mensaje demasiado largo!</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">Simplex Chat y Flux han acordado incluir servidores operados por Flux en la aplicación.</string>
|
||||
</resources>
|
||||
@@ -942,7 +942,6 @@
|
||||
<string name="delete_files_and_media_desc">این عمل قابل برگشت نیست - تمام پروندهها و رسانه دریافتی حذف خواهند شد. عکسهای با کیفیت پایین باقی خواهند ماند.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">شما باید از تازهترین نسخه پایگاه داده گپ خود روی فقط یک دستگاه استفاده کنید، در غیر این صورت ممکن است از بعضی از مخاطبها دیگر پیامی دریافت نکنید.</string>
|
||||
<string name="messages_section_title">پیامها</string>
|
||||
<string name="stop_chat_to_enable_database_actions">به منظور فعالسازی اقدامات پایگاه داده، گپ را متوقف کنید.</string>
|
||||
<string name="enable_automatic_deletion_message">این عمل قابل برگشت نیست - پیامهای ارسالی و دریافتی قدیمیتر از زمان انتخابی حذف خواهند شد. این کار ممکن است چندین دقیقه زمان ببرد.</string>
|
||||
<string name="error_changing_message_deletion">خطا در تغییر تنظیمات</string>
|
||||
<string name="save_passphrase_in_settings">ذخیره عبارت عبور در تنظیمات</string>
|
||||
|
||||
@@ -666,7 +666,6 @@
|
||||
<string name="self_destruct_passcode">Itsetuhoutuva pääsykoodi</string>
|
||||
<string name="restart_the_app_to_use_imported_chat_database">Käynnistä sovellus uudelleen käyttääksesi tuotua keskustelutietokantaa.</string>
|
||||
<string name="old_database_archive">Vanha tietokanta-arkisto</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Pysäytä keskustelu, jotta tietokantatoiminnot voidaan ottaa käyttöön.</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Luo uusi keskusteluprofiili käynnistämällä sovellus uudelleen.</string>
|
||||
<string name="messages_section_title">Viestit</string>
|
||||
<string name="chat_item_ttl_none">ei koskaan</string>
|
||||
|
||||
@@ -617,7 +617,6 @@
|
||||
<string name="error_importing_database">Erreur lors de l\'importation de la base de données du chat</string>
|
||||
<string name="chat_database_imported">Base de données du chat importée</string>
|
||||
<string name="delete_chat_profile_question">Supprimer le profil du chat \?</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Arrêter le chat pour agir sur la base de données.</string>
|
||||
<string name="delete_files_and_media_question">Supprimer les fichiers et médias \?</string>
|
||||
<string name="delete_files_and_media_desc">Cette action ne peut être annulée - tous les fichiers et médias reçus et envoyés seront supprimés. Les photos à faible résolution seront conservées.</string>
|
||||
<string name="no_received_app_files">Aucun fichier reçu ou envoyé</string>
|
||||
@@ -1952,8 +1951,7 @@
|
||||
<string name="servers_info">Infos serveurs</string>
|
||||
<string name="servers_info_target">Afficher les informations pour</string>
|
||||
<string name="servers_info_starting_from">À partir de %s.</string>
|
||||
<string name="servers_info_private_data_disclaimer">À partir de %s.
|
||||
\nToutes les données restent confinées dans votre appareil.</string>
|
||||
<string name="servers_info_private_data_disclaimer">À partir de %s. \nToutes les données restent confinées dans votre appareil.</string>
|
||||
<string name="servers_info_statistics_section_header">Statistiques</string>
|
||||
<string name="servers_info_subscriptions_total">Total</string>
|
||||
<string name="xftp_server">Serveur XFTP</string>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<string name="send_disappearing_message_30_seconds">30 másodperc</string>
|
||||
<string name="one_time_link_short">Egyszer használható meghívó-hivatkozás</string>
|
||||
<string name="contact_wants_to_connect_via_call">%1$s szeretne kapcsolatba lépni Önnel ezen keresztül:</string>
|
||||
<string name="about_simplex_chat">A SimpleX Chatről</string>
|
||||
<string name="about_simplex_chat">SimpleX Chat névjegye</string>
|
||||
<string name="chat_item_ttl_day">1 nap</string>
|
||||
<string name="abort_switch_receiving_address">Címváltoztatás megszakítása</string>
|
||||
<string name="about_simplex">A SimpleXről</string>
|
||||
@@ -52,7 +52,7 @@
|
||||
<string name="v4_5_transport_isolation_descr">A csevegési profillal (alapértelmezett), vagy a kapcsolattal (BÉTA).</string>
|
||||
<string name="connect__a_new_random_profile_will_be_shared">Egy új véletlenszerű profil lesz megosztva.</string>
|
||||
<string name="allow_voice_messages_only_if">A hangüzenetek küldése csak abban az esetben van engedélyezve, ha az ismerőse is engedélyezi.</string>
|
||||
<string name="app_version_code">Az alkalmazás build száma: %s</string>
|
||||
<string name="app_version_code">Az alkalmazás összeállítási száma: %s</string>
|
||||
<string name="audio_video_calls">Hang- és videóhívások</string>
|
||||
<string name="network_settings">Speciális hálózati beállítások</string>
|
||||
<string name="allow_your_contacts_to_send_voice_messages">A hangüzenetek küldése engedélyezve van az ismerősei számára.</string>
|
||||
@@ -106,7 +106,7 @@
|
||||
<string name="v5_1_self_destruct_passcode_descr">A jelkód megadása után az összes adat törlésre kerül.</string>
|
||||
<string name="icon_descr_video_asked_to_receive">Felkérték a videó fogadására</string>
|
||||
<string name="block_member_button">Letiltás</string>
|
||||
<string name="v5_2_more_things">Még néhány dolog</string>
|
||||
<string name="v5_2_more_things">Néhány további dolog</string>
|
||||
<string name="authentication_cancelled">Hitelesítés visszavonva</string>
|
||||
<string name="allow_to_send_files">A fájlok- és a médiatartalmak küldése engedélyezve van.</string>
|
||||
<string name="users_delete_all_chats_deleted">Az összes csevegés és üzenet törlésre kerül - ez a művelet nem vonható vissza!</string>
|
||||
@@ -460,7 +460,7 @@
|
||||
<string name="error_sending_message">Hiba az üzenet küldésekor</string>
|
||||
<string name="la_enter_app_passcode">Jelkód megadása</string>
|
||||
<string name="for_everybody">Mindenkinél</string>
|
||||
<string name="encryption_renegotiation_error">Titkosítás újraegyeztetési hiba</string>
|
||||
<string name="encryption_renegotiation_error">Titkosítás-újraegyeztetési hiba</string>
|
||||
<string name="error_encrypting_database">Hiba az adatbázis titkosításakor</string>
|
||||
<string name="error_deleting_group">Hiba a csoport törlésekor</string>
|
||||
<string name="exit_without_saving">Kilépés mentés nélkül</string>
|
||||
@@ -507,7 +507,7 @@
|
||||
<string name="v4_6_group_moderation">Csoport moderáció</string>
|
||||
<string name="choose_file">Fájl</string>
|
||||
<string name="group_link">Csoporthivatkozás</string>
|
||||
<string name="snd_conn_event_ratchet_sync_required">titkosítás-újraegyeztetés szükséges ehhez: %s</string>
|
||||
<string name="snd_conn_event_ratchet_sync_required">a titkosítás újraegyeztetése szükséges a következőhöz: %s</string>
|
||||
<string name="failed_to_active_user_title">Hiba a profilváltáskor!</string>
|
||||
<string name="settings_experimental_features">Kísérleti funkciók</string>
|
||||
<string name="receipts_contacts_enable_keep_overrides">Engedélyezés (felülírások megtartásával)</string>
|
||||
@@ -532,7 +532,7 @@
|
||||
<string name="fix_connection_question">Kapcsolat javítása?</string>
|
||||
<string name="files_and_media">Fájlok és médiatartalmak</string>
|
||||
<string name="section_title_for_console">KONZOLHOZ</string>
|
||||
<string name="alert_text_encryption_renegotiation_failed">Sikertelen titkosítás-újraegyeztetés.</string>
|
||||
<string name="alert_text_encryption_renegotiation_failed">Nem sikerült a titkosítást újraegyeztetni.</string>
|
||||
<string name="error_deleting_user">Hiba a felhasználó-profil törlésekor</string>
|
||||
<string name="fix_connection_not_supported_by_group_member">Csoporttag általi javítás nem támogatott</string>
|
||||
<string name="enter_welcome_message">Üdvözlőüzenet megadása…</string>
|
||||
@@ -610,7 +610,7 @@
|
||||
<string name="feature_enabled">engedélyezve</string>
|
||||
<string name="error_loading_details">Hiba a részletek betöltésekor</string>
|
||||
<string name="error_accepting_contact_request">Hiba történt a kapcsolatkérés elfogadásakor</string>
|
||||
<string name="snd_conn_event_ratchet_sync_allowed">titkosítás újraegyeztetése engedélyezett %s számára</string>
|
||||
<string name="snd_conn_event_ratchet_sync_allowed">a titkosítás újraegyeztetése engedélyezve van a következőhöz: %s</string>
|
||||
<string name="conn_event_ratchet_sync_required">titkosítás-újraegyeztetés szükséges</string>
|
||||
<string name="v4_6_hidden_chat_profiles">Rejtett csevegési profilok</string>
|
||||
<string name="files_and_media_section">Fájlok és médiatartalmak</string>
|
||||
@@ -922,7 +922,6 @@
|
||||
<string name="only_your_contact_can_make_calls">Csak az ismerőse tud hívást indítani.</string>
|
||||
<string name="settings_section_title_themes">TÉMÁK</string>
|
||||
<string name="videos_limit_title">Túl sok videó!</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Csevegési szolgáltatás megállítása az adatbázis műveletek elvégzéséhez.</string>
|
||||
<string name="welcome">Üdvözöljük!</string>
|
||||
<string name="v5_1_self_destruct_passcode">Önmegsemmisítési jelkód</string>
|
||||
<string name="connect_via_link_or_qr_from_clipboard_or_in_person">(beolvasás, vagy beillesztés a vágólapról)</string>
|
||||
@@ -1333,7 +1332,7 @@
|
||||
<string name="this_link_is_not_a_valid_connection_link">Ez nem egy érvényes kapcsolattartási hivatkozás!</string>
|
||||
<string name="to_verify_compare">A végpontok közötti titkosítás hitelesítéséhez hasonlítsa össze (vagy olvassa be a QR-kódot) az ismerőse eszközén lévő kóddal.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">A csevegési adatbázis legfrissebb verzióját CSAK egy eszközön kell használnia, ellenkező esetben előfordulhat, hogy az üzeneteket nem fogja megkapni valamennyi ismerősétől.</string>
|
||||
<string name="messages_section_description">Ez a beállítás csak a jelenlegi csevegési profiljában lévő üzenetekre vonatkozik</string>
|
||||
<string name="messages_section_description">Ez a beállítás csak az Ön jelenlegi csevegő-profiljában lévő üzenetekre vonatkozik</string>
|
||||
<string name="you_are_invited_to_group_join_to_connect_with_group_members">Meghívást kapott a csoportba. Csatlakozzon, hogy kapcsolatba léphessen a csoport tagjaival.</string>
|
||||
<string name="alert_message_no_group">Ez a csoport már nem létezik.</string>
|
||||
<string name="connect_plan_you_are_already_joining_the_group_via_this_link">A csatlakozás már folyamatban van a csoporthoz ezen a hivatkozáson keresztül.</string>
|
||||
@@ -1351,7 +1350,7 @@
|
||||
<string name="you_will_be_connected_when_your_connection_request_is_accepted">Akkor lesz kapcsolódva, ha a kapcsolatkérése elfogadásra kerül, várjon, vagy ellenőrizze később!</string>
|
||||
<string name="voice_messages_are_prohibited">A hangüzenetek küldése le van tiltva.</string>
|
||||
<string name="system_restricted_background_in_call_warn"><![CDATA[A háttérben való hívásokhoz válassza ki az <b>Alkalmazás akkumulátor-használata</b> / <b>Korlátlan</b> módot az alkalmazás beállításaiban.]]></string>
|
||||
<string name="v5_4_link_mobile_desktop_descr">Biztonságos kvantumrezisztens-protokollon keresztül.</string>
|
||||
<string name="v5_4_link_mobile_desktop_descr">Biztonságos kvantumálló-protokollon keresztül.</string>
|
||||
<string name="v5_1_better_messages_descr">- 5 perc hosszúságú hangüzenetek.\n- egyéni üzenet-eltűnési időkorlát.\n- előzmények szerkesztése.</string>
|
||||
<string name="open_on_mobile_and_scan_qr_code"><![CDATA[Válassza a <i>Társítás számítógéppel</i> menüt a hordozható eszköz alkalmazásban és olvassa be a QR-kódot.]]></string>
|
||||
<string name="sender_at_ts">%s ekkor: %s</string>
|
||||
@@ -1466,7 +1465,7 @@
|
||||
<string name="v4_4_live_messages_desc">A címzettek a beírás közben látják a szövegváltozásokat.</string>
|
||||
<string name="store_passphrase_securely">Tárolja el biztonságosan jelmondatát, mert ha elveszíti azt, NEM tudja megváltoztatni.</string>
|
||||
<string name="passphrase_will_be_saved_in_settings">A jelmondat a beállításokban egyszerű szövegként kerül tárolásra, miután megváltoztatta vagy újraindította az alkalmazást.</string>
|
||||
<string name="smp_servers_per_user">A jelenlegi csevegési profilhoz tartozó új kapcsolatok kiszolgálói</string>
|
||||
<string name="smp_servers_per_user">Az Ön jelenlegi csevegőprofiljához tartozó új kapcsolatok kiszolgálói</string>
|
||||
<string name="receiving_via">Fogadás ezen keresztül:</string>
|
||||
<string name="store_passphrase_securely_without_recover">Tárolja el biztonságosan jelmondát, mert ha elveszti azt, akkor NEM férhet hozzá a csevegéshez.</string>
|
||||
<string name="member_role_will_be_changed_with_invitation">A szerepkör meg fog változni erre: %s. A tag új meghívót fog kapni.</string>
|
||||
@@ -1478,7 +1477,7 @@
|
||||
<string name="settings_is_storing_in_clear_text">A jelmondat a beállításokban egyszerű szövegként van tárolva.</string>
|
||||
<string name="terminal_always_visible">Konzol megjelenítése új ablakban</string>
|
||||
<string name="alert_text_msg_bad_hash">Az előző üzenet hasító értéke különbözik.</string>
|
||||
<string name="receipts_section_description">Ezek a beállítások csak a jelenlegi profiljára vonatkoznak</string>
|
||||
<string name="receipts_section_description">Ezek a beállítások csak az Ön jelenlegi csevegő-profiljára vonatkoznak</string>
|
||||
<string name="loading_remote_file_desc">Várjon, amíg a fájl betöltődik a társított hordozható eszközről</string>
|
||||
<string name="read_more_in_github_with_link"><![CDATA[További információ a <font color="#0088ff">GitHub tárolónkban</font>.]]></string>
|
||||
<string name="error_showing_content">hiba a tartalom megjelenítésekor</string>
|
||||
@@ -1654,7 +1653,7 @@
|
||||
<string name="migrate_from_device_to_another_device">Átköltöztetés egy másik eszközre</string>
|
||||
<string name="migrate_from_device_archive_will_be_deleted"><![CDATA[<b>Figyelmeztetés:</b> az archívum törlésre kerül.]]></string>
|
||||
<string name="migrate_from_another_device">Átköltöztetés egy másik eszközről</string>
|
||||
<string name="v5_6_quantum_resistant_encryption">Kvantumrezisztens titkosítás</string>
|
||||
<string name="v5_6_quantum_resistant_encryption">Kvantumálló titkosítás</string>
|
||||
<string name="migrate_from_device_try_again">Megpróbálhatja még egyszer.</string>
|
||||
<string name="migrate_from_device_migration_complete">Átköltöztetés befejezve</string>
|
||||
<string name="v5_6_app_data_migration_descr">Átköltöztetés egy másik eszközre QR-kód használatával.</string>
|
||||
@@ -1662,12 +1661,12 @@
|
||||
<string name="migrate_from_device_using_on_two_device_breaks_encryption"><![CDATA[<b>Megjegyzés:</b> ha két eszközön is ugyanazt az adatbázist használja, akkor biztonsági védelemként megszakítja az ismerőseitől érkező üzenetek visszafejtését.]]></string>
|
||||
<string name="migrate_to_device_try_again">Megpróbálhatja még egyszer.</string>
|
||||
<string name="invalid_file_link">Érvénytelen hivatkozás</string>
|
||||
<string name="conn_event_enabled_pq">végpontok közötti kvantumrezisztens titkosítás</string>
|
||||
<string name="conn_event_enabled_pq">végpontok közötti kvantumálló titkosítás</string>
|
||||
<string name="e2ee_info_no_pq_short">Ez a csevegés végpontok közötti titkosítással védett.</string>
|
||||
<string name="auth_open_migration_to_another_device">Átköltöztetési párbeszédablak megnyitása</string>
|
||||
<string name="e2ee_info_pq_short">Ez a csevegés végpontok közötti kvantumrezisztens tikosítással védett.</string>
|
||||
<string name="e2ee_info_pq_short">Ez a csevegés végpontok közötti kvantumálló tikosítással védett.</string>
|
||||
<string name="e2ee_info_no_pq"><![CDATA[Az üzeneteket, fájlokat és hívásokat <b>végpontok közötti titkosítással</b>, sérülés utáni titkosság-védelemmel és -helyreállítással, továbbá visszautasítással védi.]]></string>
|
||||
<string name="e2ee_info_pq"><![CDATA[Az üzeneteket, fájlokat és hívásokat <b>végpontok közötti kvantumrezisztens titkosítással</b>, sérülés utáni titkosság-védelemmel és -helyreállítással, továbbá visszautasítással védi.]]></string>
|
||||
<string name="e2ee_info_pq"><![CDATA[Az üzenetek, fájlok és hívások <b>végpontok közötti kvantumálló titkosítással</b> sérülés utáni titkosságvédelemmel, visszautasítással és feltörés utáni helyreállítással vannak védve.]]></string>
|
||||
<string name="error_showing_desktop_notification">Hiba az értesítés megjelenítésekor, lépjen kapcsolatba a fejlesztőkkel.</string>
|
||||
<string name="permissions_find_in_settings_and_grant">Keresse meg ezt az engedélyt az Android beállításaiban, és adja meg kézzel.</string>
|
||||
<string name="permissions_grant_in_settings">Engedélyezés a beállításokban</string>
|
||||
@@ -1755,7 +1754,7 @@
|
||||
<string name="network_smp_proxy_fallback_prohibit_description">Ne küldjön üzeneteket közvetlenül, még akkor sem, ha az Ön kiszolgálója vagy a célkiszolgáló nem támogatja a privát útválasztást.</string>
|
||||
<string name="without_tor_or_vpn_ip_address_will_be_visible_to_file_servers">Tor vagy VPN nélkül az IP-címe látható lesz a fájlkiszolgálók számára.</string>
|
||||
<string name="settings_section_title_files">FÁJLOK</string>
|
||||
<string name="protect_ip_address">IP-cím védelem</string>
|
||||
<string name="protect_ip_address">IP-cím védelme</string>
|
||||
<string name="app_will_ask_to_confirm_unknown_file_servers">Az alkalmazás kérni fogja az ismeretlen fájlkiszolgálókról történő letöltések megerősítését (kivéve, ha az .onion vagy a SOCKS proxy engedélyezve van).</string>
|
||||
<string name="file_not_approved_title">Ismeretlen kiszolgálók!</string>
|
||||
<string name="file_not_approved_descr">Tor vagy VPN nélkül az IP-címe látható lesz az XFTP-közvetítő-kiszolgálók számára:\n%1$s.</string>
|
||||
@@ -1785,7 +1784,7 @@
|
||||
<string name="color_sent_quote">Válaszüzenet-buborék színe</string>
|
||||
<string name="chat_theme_set_default_theme">Alapértelmezett téma beállítása</string>
|
||||
<string name="color_mode_system">Rendszer</string>
|
||||
<string name="color_wallpaper_tint">Háttérkép kiemelés</string>
|
||||
<string name="color_wallpaper_tint">Háttérkép kiemelőszíne</string>
|
||||
<string name="color_wallpaper_background">Háttérkép háttérszíne</string>
|
||||
<string name="color_primary_variant2">További kiemelés 2</string>
|
||||
<string name="theme_destination_app_theme">Alkalmazás téma</string>
|
||||
@@ -1836,7 +1835,7 @@
|
||||
<string name="servers_info_sessions_connecting">Kapcsolódás</string>
|
||||
<string name="servers_info_sessions_errors">Hibák</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">Függőben</string>
|
||||
<string name="servers_info_private_data_disclaimer">Statisztikagyűjtés kezdete: %s.\nAz összes adat biztonságban van az eszközén.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Statisztikagyűjtés kezdete: %s.\nAz összes adat privát módon van tárolva az Ön eszközén.</string>
|
||||
<string name="servers_info_messages_sent">Elküldött üzenetek</string>
|
||||
<string name="servers_info_proxied_servers_section_header">Proxyzott kiszolgálók</string>
|
||||
<string name="servers_info_reconnect_servers_title">Újrakapcsolódás a kiszolgálókhoz?</string>
|
||||
@@ -1907,7 +1906,7 @@
|
||||
<string name="servers_info_transport_sessions_section_header">Munkamenetek átvitele</string>
|
||||
<string name="servers_info_subscriptions_total">Összes kapcsolat</string>
|
||||
<string name="servers_info_statistics_section_header">Statisztikák</string>
|
||||
<string name="servers_info_target">Információk megjelenítése ehhez:</string>
|
||||
<string name="servers_info_target">Információk megjelenítése a következőhöz:</string>
|
||||
<string name="network_error_broker_version_desc">A kiszolgáló verziója nem kompatibilis az alkalmazással: %1$s.</string>
|
||||
<string name="servers_info_proxied_servers_section_footer">Ön nem kapcsolódik ezekhez a kiszolgálókhoz. A privát útválasztás az üzenetek kézbesítésére szolgál.</string>
|
||||
<string name="servers_info_subscriptions_connections_subscribed">Aktív kapcsolatok száma</string>
|
||||
@@ -2110,13 +2109,13 @@
|
||||
<string name="create_1_time_link">Egyszer használható meghívó-hivatkozás létrehozása</string>
|
||||
<string name="onboarding_choose_server_operators">Kiszolgáló-üzemeltetők</string>
|
||||
<string name="onboarding_network_operators">Hálózati üzemeltetők</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Amikor egynél több hálózati üzemeltető van engedélyezve, akkor az alkalmazás minden egyes beszélgetéshez a különböző üzemeltetők kiszolgálóit használja.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Ha például a SimpleX Chat kiszolgálón keresztül fogadja az üzeneteket, az alkalmazás a Flux egyik kiszolgálóját használja a privát útválasztáshoz.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Az alkalmazás úgy védi az adatait, hogy minden egyes beszélgetésben más-más üzemeltetőt használ.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Például, ha az Ön ismerőse egy SimpleX Chat-kiszolgálón keresztül fogadja az üzeneteket, az Ön alkalmazása egy Flux-kiszolgálón keresztül fogja azokat kézbesíteni.</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Válassza ki a használni kívánt hálózati üzemeltetőket.</string>
|
||||
<string name="onboarding_network_operators_review_later">Felülvizsgálat később</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">A kiszolgálókat a beállításokon keresztül konfigurálhatja.</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">A kiszolgálókat a „Hálózat és kiszolgálók” menüben konfigurálhatja.</string>
|
||||
<string name="onboarding_network_operators_conditions_will_be_accepted">A feltételek 30 nap elteltével lesznek elfogadva az engedélyezett üzemeltetők számára.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Az üzemeltetőket a „Hálózat és kiszolgálók” beállításaban konfigurálhatja.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Az üzemeltetőket a „Hálózat és kiszolgálók” menüben konfigurálhatja.</string>
|
||||
<string name="onboarding_network_operators_update">Frissítés</string>
|
||||
<string name="onboarding_network_operators_continue">Folytatás</string>
|
||||
<string name="operator_review_conditions">Feltételek felülvizsgálata</string>
|
||||
@@ -2134,14 +2133,14 @@
|
||||
<string name="use_servers_of_operator_x">%s használata</string>
|
||||
<string name="operator_conditions_failed_to_load">A jelenlegi feltételek szövegét nem lehetett betölteni, a feltételeket ezen a hivatkozáson keresztül vizsgálhatja felül:</string>
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[A feltételek már el lettek fogadva a következő üzemeltető(k) számára: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Ugyanezek a feltételek vonatkoznak a következő üzemeltetőre is: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Ugyanezek a feltételek lesznek elfogadva a következő üzemeltető(k)re is: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Ugyanezek a feltételek lesznek elfogadva a következő üzemeltető számára: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Ugyanezek a feltételek lesznek elfogadva a következő üzemeltető(k) számára: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[Ezek a feltételek lesznek elfogadva a következő számára is: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[A feltételek el lesznek fogadva a következő üzemeltető(k) számára: <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_also_apply"><![CDATA[Ezek a feltételek lesznek elfogadva a következő számára is: <b>%s</b>.]]></string>
|
||||
<string name="accept_conditions">Feltételek elfogadása</string>
|
||||
<string name="operator_conditions_of_use">Használati feltételek</string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[A(z) <b>%s</b> kiszolgálóinak használatához fogadja el a használati feltételeket.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[A(z) <b>%s</b> kiszolgálók használatához fogadja el a használati feltételeket.]]></string>
|
||||
<string name="operator_use_for_messages">Használat az üzenetekhez</string>
|
||||
<string name="operator_use_for_messages_receiving">A fogadáshoz</string>
|
||||
<string name="operator_use_for_messages_private_routing">A privát útválasztáshoz</string>
|
||||
@@ -2172,9 +2171,9 @@
|
||||
<string name="remote_hosts_section">Távoli hordozható eszközök</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>Xiaomi eszközök</b>: engedélyezze az automatikus indítást a rendszerbeállításokban, hogy az értesítések működjenek.]]></string>
|
||||
<string name="maximum_message_size_reached_forwarding">A küldéshez másolhatja és csökkentheti az üzenet méretét.</string>
|
||||
<string name="add_your_team_members_to_conversations">Adja hozzá csapattagjait a beszélgetésekhez.</string>
|
||||
<string name="add_your_team_members_to_conversations">Adja hozzá a kollégáit a beszélgetésekhez.</string>
|
||||
<string name="business_address">Üzleti cím</string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Az összes üzenet és fájl <b>végpontok közötti titkosítással</b>, a közvetlen üzenetek továbbá kvantumrezisztens titkosítással is rendelkeznek.]]></string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Az összes üzenet és fájl <b>végpontok közötti titkosítással</b>, a közvetlen üzenetek továbbá kvantumálló titkosítással is rendelkeznek.]]></string>
|
||||
<string name="how_it_helps_privacy">Hogyan segíti az adatvédelmet</string>
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Nincs háttérszolgáltatás</string>
|
||||
<string name="onboarding_notifications_mode_battery">Értesítések és akkumulátor</string>
|
||||
@@ -2184,7 +2183,7 @@
|
||||
<string name="button_delete_chat">Csevegés törlése</string>
|
||||
<string name="invite_to_chat_button">Meghívás a csevegésbe</string>
|
||||
<string name="button_add_friends">Barátok hozzáadása</string>
|
||||
<string name="button_add_team_members">Csapattagok hozzáadása</string>
|
||||
<string name="button_add_team_members">Kollégák hozzáadása</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">A csevegés minden tag számára törlésre kerül - ezt a műveletet nem lehet visszavonni!</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">A csevegés törlésre kerül az Ön számára - ezt a műveletet nem lehet visszavonni!</string>
|
||||
<string name="delete_chat_question">Csevegés törlése?</string>
|
||||
@@ -2205,4 +2204,13 @@
|
||||
<string name="maximum_message_size_title">Az üzenet túl nagy!</string>
|
||||
<string name="maximum_message_size_reached_non_text">Csökkentse az üzenet méretét vagy távolítsa el a médiát, és küldje el újra.</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">A tagok közötti közvetlen üzenetek le vannak tiltva ebben a csevegésben.</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Amikor egynél több üzemeltető van engedélyezve, akkor egyik sem rendelkezik olyan metaadatokkal, amelyekből megtudható, hogy ki kivel kommunikál.</string>
|
||||
<string name="display_name_accepted_invitation">elfogadott meghívó</string>
|
||||
<string name="display_name_requested_to_connect">kérelmezve a kapcsolódáshoz</string>
|
||||
<string name="onboarding_network_about_operators">Az üzemeltetőkről</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">A SimpleX Chat és a Flux megállapodást kötött arról, hogy a Flux által üzemeltetett kiszolgálókat beépítik az alkalmazásba.</string>
|
||||
<string name="encryption_renegotiation_in_progress">A titkosítás újraegyeztetése folyamatban van.</string>
|
||||
<string name="sync_connection_desc">A kapcsolat titkosítása újraegyeztetést igényel.</string>
|
||||
<string name="sync_connection_confirm">Javítás</string>
|
||||
<string name="sync_connection_question">Kapcsolat javítása?</string>
|
||||
</resources>
|
||||
@@ -1347,4 +1347,655 @@
|
||||
<string name="conn_level_desc_direct">langsung</string>
|
||||
<string name="sending_via">Kirim via</string>
|
||||
<string name="receiving_via">Terima via</string>
|
||||
<string name="icon_descr_contact_checked">Kontak diperiksa</string>
|
||||
<string name="invite_prohibited">Tak dapat undang kontak!</string>
|
||||
<string name="snd_conn_event_ratchet_sync_agreed">enkripsi disetujui untuk %s</string>
|
||||
<string name="group_member_status_creator">pembuat</string>
|
||||
<string name="group_member_status_connecting">menghubungkan</string>
|
||||
<string name="delete_group_question">Hapus grup?</string>
|
||||
<string name="delete_group_for_all_members_cannot_undo_warning">Grup akan dihapus untuk semua anggota - ini tidak dapat dibatalkan!</string>
|
||||
<string name="create_group_link">Buat tautan grup</string>
|
||||
<string name="group_member_status_introduced">menghubungkan (diperkenalkan)</string>
|
||||
<string name="rcv_conn_event_verification_code_reset">kode keamanan berubah</string>
|
||||
<string name="num_contacts_selected">%d kontak dipilih</string>
|
||||
<string name="group_link">Tautan grup</string>
|
||||
<string name="past_member_vName">Anggota lama %1$s</string>
|
||||
<string name="conn_event_disabled_pq">enkripsi end-to-end standar</string>
|
||||
<string name="conn_event_enabled_pq">enkripsi e2e quantum resistant</string>
|
||||
<string name="group_member_status_intro_invitation">menghubungkan (undangan perkenalan)</string>
|
||||
<string name="group_member_status_unknown_short">tidak dikenal</string>
|
||||
<string name="button_delete_chat">Hapus obrolan</string>
|
||||
<string name="button_add_friends">Tambah teman</string>
|
||||
<string name="button_add_team_members">Tambah anggota tim</string>
|
||||
<string name="button_leave_group">Keluar grup</string>
|
||||
<string name="group_member_status_announced">menghubungkan (diumumkan)</string>
|
||||
<string name="group_member_status_accepted">menghubungkan (diterima)</string>
|
||||
<string name="button_delete_group">Hapus grup</string>
|
||||
<string name="delete_group_for_self_cannot_undo_warning">Grup akan dihapus untuk Anda - ini tidak dapat dibatalkan!</string>
|
||||
<string name="delete_chat_question">Hapus obrolan?</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">Obrolan akan dihapus untuk semua anggota - ini tidak dapat dibatalkan!</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">Obrolan akan dihapus untuk Anda - ini tidak dapat dibatalkan!</string>
|
||||
<string name="button_leave_chat">Tinggalkan obrolan</string>
|
||||
<string name="button_edit_group_profile">Edit profil grup</string>
|
||||
<string name="button_welcome_message">Pesan sambutan</string>
|
||||
<string name="button_add_members">Undang anggota</string>
|
||||
<string name="group_info_member_you">anda: %1$s</string>
|
||||
<string name="invite_prohibited_description">Anda mencoba mengundang kontak yang telah Anda bagikan profil samaran ke grup tempat Anda menggunakan profil utama</string>
|
||||
<string name="invite_to_group_button">Undang ke grup</string>
|
||||
<string name="invite_to_chat_button">Undang ke obrolan</string>
|
||||
<string name="select_contacts">Pilih kontak</string>
|
||||
<string name="skip_inviting_button">Lewati undang anggota</string>
|
||||
<string name="address_or_1_time_link">Alamat atau tautan 1-kali?</string>
|
||||
<string name="developer_options_section">Opsi pengembang</string>
|
||||
<string name="onboarding_choose_server_operators">Operator server</string>
|
||||
<string name="onboarding_network_operators">Operator jaringan</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Aplikasi ini melindungi privasi Anda dengan gunakan operator yang berbeda setiap percakapan.</string>
|
||||
<string name="onboarding_network_operators_conditions_will_be_accepted">Ketentuan akan diterima untuk operator yang diaktifkan setelah 30 hari.</string>
|
||||
<string name="settings_developer_tools">Alat pengembang</string>
|
||||
<string name="settings_section_title_chat_colors">Warna obrolan</string>
|
||||
<string name="rcv_group_event_member_created_contact">terhubung langsung</string>
|
||||
<string name="remote_ctrl_error_bad_state">Koneksi ke desktop dalam kondisi buruk</string>
|
||||
<string name="confirm_delete_contact_question">Konfirmasi hapus kontak?</string>
|
||||
<string name="send_disappearing_message_custom_time">Waktu kustom</string>
|
||||
<string name="choose_file_title">Pilih berkas</string>
|
||||
<string name="you_can_connect_to_simplex_chat_founder"><![CDATA[Anda dapat <font color="#0088ff">terhubung ke pengembang SimpleX Chat untuk mengajukan pertanyaan dan menerima pembaruan</font>.]]></string>
|
||||
<string name="clear_chat_question">Hapus obrolan?</string>
|
||||
<string name="network_proxy_auth_mode_no_auth">Jangan gunakan kredensial dengan proxy.</string>
|
||||
<string name="disable_onion_hosts_when_not_supported"><![CDATA[Atur <i>Gunakan host .onion</i> ke Tidak jika proxy SOCKS tidak mendukung.]]></string>
|
||||
<string name="socks_proxy_setting_limitations"><![CDATA[<b>Harap diperhatikan</b>: relay pesan dan berkas terhubung melalui proxy SOCKS. Panggilan dan pengiriman pratinjau tautan menggunakan koneksi langsung.]]></string>
|
||||
<string name="network_smp_proxy_fallback_prohibit_description">JANGAN mengirim pesan secara langsung, meskipun server Anda atau server tujuan tidak mendukung routing pribadi.</string>
|
||||
<string name="display_name_cannot_contain_whitespace">Nama tampilan tidak boleh terdapat spasi.</string>
|
||||
<string name="you_can_change_it_later">Frasa sandi acak disimpan dalam pengaturan sebagai teks biasa.\nAnda dapat mengubahnya nanti.</string>
|
||||
<string name="setup_database_passphrase">Pasang frasa sandi basis data</string>
|
||||
<string name="database_will_be_encrypted">Basis data akan dienkripsi.</string>
|
||||
<string name="database_upgrade">Peningkatan basis data</string>
|
||||
<string name="confirm_database_upgrades">Konfirmasi peningkatan basis data</string>
|
||||
<string name="downgrade_and_open_chat">Turunkan dan buka obrolan</string>
|
||||
<string name="rcv_group_event_changed_member_role">mengubah hak %s menjadi %s</string>
|
||||
<string name="share_text_deleted_at">Dihapus pada: %s</string>
|
||||
<string name="delete_profile">Hapus profil</string>
|
||||
<string name="connect_plan_this_is_your_link_for_group_vName"><![CDATA[Ini adalah tautan untuk grup <b>%1$s</b>!]]></string>
|
||||
<string name="migrate_from_device_cancel_migration">Batal pindah</string>
|
||||
<string name="chunks_uploaded">Potongan diunggah</string>
|
||||
<string name="info_view_connect_button">hubungkan</string>
|
||||
<string name="conversation_deleted">Percakapan dihapus!</string>
|
||||
<string name="disappearing_message">Pesan sementara</string>
|
||||
<string name="clear_note_folder_question">Hapus catatan pribadi?</string>
|
||||
<string name="chat_is_stopped">Obrolan dihentikan</string>
|
||||
<string name="database_passphrase">Frasa sandi basis data</string>
|
||||
<string name="confirm_new_passphrase">Konfirmasi frasa sandi baru…</string>
|
||||
<string name="change_database_passphrase_question">Ubah frasa sandi basis data?</string>
|
||||
<string name="cannot_access_keychain">Tidak dapat mengakses Keystore untuk menyimpan kata sandi basis data</string>
|
||||
<string name="database_downgrade">Penurunan basis data</string>
|
||||
<string name="chat_is_stopped_indication">Obrolan dihentikan</string>
|
||||
<string name="button_create_group_link">Buat tautan</string>
|
||||
<string name="info_row_deleted_at">Dihapus di</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">Pesan pribadi antar anggota dilarang dalam obrolan ini.</string>
|
||||
<string name="delivery_receipts_title">Tanda terima pengirim!</string>
|
||||
<string name="this_device_version"><![CDATA[<i>(perangkat ini v%s)</i>]]></string>
|
||||
<string name="devices">Perangkat</string>
|
||||
<string name="remote_ctrl_was_disconnected_title">Koneksi terputus</string>
|
||||
<string name="copy_error">Gagal salin</string>
|
||||
<string name="discover_on_network">Temukan melalui jaringan lokal</string>
|
||||
<string name="remote_ctrl_error_bad_invitation">Kode undangan desktop salah</string>
|
||||
<string name="remote_ctrl_error_disconnected">Desktop terputus</string>
|
||||
<string name="connect_plan_you_are_already_connecting_to_vName"><![CDATA[Anda sudah terhubung ke <b>%1$s</b>.]]></string>
|
||||
<string name="migrate_to_device_confirm_network_settings">Konfirmasi pengaturan jaringan</string>
|
||||
<string name="chunks_deleted">Potongan dihapus</string>
|
||||
<string name="chunks_downloaded">Potongan diunduh</string>
|
||||
<string name="downloaded_files">Berkas terunduh</string>
|
||||
<string name="download_errors">Gagal unduh</string>
|
||||
<string name="delete_files_and_media_all">Hapus semua berkas</string>
|
||||
<string name="delete_files_and_media_question">Hapus berkas dan media?</string>
|
||||
<string name="total_files_count_and_size">%d berkas dengan total ukuran %s</string>
|
||||
<string name="chat_database_exported_continue">Lanjutkan</string>
|
||||
<string name="rcv_direct_event_contact_deleted">kontak dihapus</string>
|
||||
<string name="alert_title_cant_invite_contacts">Tak dapat undang kontak!</string>
|
||||
<string name="info_row_disappears_at">Terhapus pada</string>
|
||||
<string name="share_text_disappears_at">Terhapus pada: %s</string>
|
||||
<string name="item_info_current">(saat ini)</string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Ketentuan yang sama akan berlaku untuk operator <b>%s</b>.]]></string>
|
||||
<string name="appearance_bars_blur_radius">Buram</string>
|
||||
<string name="appearance_in_app_bars_alpha">Transparansi</string>
|
||||
<string name="appearance_app_toolbars">Bilah alat aplikasi</string>
|
||||
<string name="v6_0_connection_servers_status_descr">Status koneksi dan server.</string>
|
||||
<string name="remote_ctrl_error_bad_version">Desktop memiliki versi tidak didukung. Pastikan Anda gunakan versi yang sama di kedua perangkat</string>
|
||||
<string name="migrate_to_device_chat_migrated">Obrolan dipindahkan!</string>
|
||||
<string name="migrate_from_device_delete_database_from_device">Hapus basis data dari perangkat ini</string>
|
||||
<string name="delete_files_and_media_for_all_users">Hapus berkas untuk semua profil obrolan</string>
|
||||
<string name="info_row_created_at">Dibuat di</string>
|
||||
<string name="onboarding_notifications_mode_off_desc"><![CDATA[<b>Terbaik untuk baterai</b>. Anda akan menerima notifikasi saat aplikasi sedang berjalan (TANPA layanan latar belakang).]]></string>
|
||||
<string name="onboarding_notifications_mode_periodic_desc"><![CDATA[<b>Baik untuk baterai</b>. Aplikasi memeriksa pesan setiap 10 menit. Anda mungkin melewatkan panggilan atau pesan penting.]]></string>
|
||||
<string name="settings_section_title_chat_theme">Tema obrolan</string>
|
||||
<string name="chat_database_section">BASIS DATA OBROLAN</string>
|
||||
<string name="set_password_to_export_desc">Basis data dienkripsi menggunakan frasa sandi acak. Harap ubah frasa sandi sebelum mengekspor.</string>
|
||||
<string name="chat_database_exported_title">Basis data obrolan diekspor</string>
|
||||
<string name="current_passphrase">Frasa sandi saat ini…</string>
|
||||
<string name="impossible_to_recover_passphrase"><![CDATA[<b>Harap diperhatikan</b>: Anda TIDAK akan dapat pulihkan atau ubah frasa sandi jika hilang.]]></string>
|
||||
<string name="encrypted_with_random_passphrase">Basis data dienkripsi menggunakan frasa sandi acak, Anda dapat mengubahnya.</string>
|
||||
<string name="database_will_be_encrypted_and_passphrase_stored_in_settings">Basis data akan dienkripsi dan frasa sandi disimpan dalam pengaturan.</string>
|
||||
<string name="mtr_error_no_down_migration">versi database lebih baru daripada aplikasi, tetapi tidak ada penurunan migrasi untuk: %s</string>
|
||||
<string name="rcv_group_events_count">%d acara grup</string>
|
||||
<string name="rcv_conn_event_switch_queue_phase_completed">mengubah alamat untuk Anda</string>
|
||||
<string name="info_row_database_id">ID basis data</string>
|
||||
<string name="cant_call_contact_connecting_wait_alert_text">Menghubungkan ke kontak, harap tunggu atau periksa nanti!</string>
|
||||
<string name="users_delete_question">Hapus profil obrolan?</string>
|
||||
<string name="deletion_errors">Gagal hapus</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>Perangkat Xiaomi</b>: harap aktifkan Autostart di pengaturan sistem agar notifikasi berfungsi.]]></string>
|
||||
<string name="clear_chat_button">Hapus obrolan</string>
|
||||
<string name="connect_via_link_or_qr">Hubungkan via tautan / kode QR</string>
|
||||
<string name="connect__a_new_random_profile_will_be_shared">Profil acak baru akan dibagikan.</string>
|
||||
<string name="connection_request_sent">Permintaan koneksi terkirim!</string>
|
||||
<string name="connection_security">Keamanan koneksi</string>
|
||||
<string name="correct_name_to">Nama telah benar untuk %s?</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Anda dapat konfigurasi operator di pengaturan Jaringan dan server.</string>
|
||||
<string name="database_error">Kesalahan basis data</string>
|
||||
<string name="passphrase_is_different">Frasa sandi basis data berbeda dengan yang disimpan di Keystore.</string>
|
||||
<string name="change_member_role_question">Ubah hak grup?</string>
|
||||
<string name="operators_conditions_will_also_apply"><![CDATA[Ketentuan ini juga berlaku untuk: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_of_use">Ketentuan Penggunaan</string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[Ketentuan akan diterima untuk operator: <b>%s</b>.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Untuk gunakan server <b>%s</b>, terima ketentuan penggunaan.]]></string>
|
||||
<string name="operator_added_message_servers">Menambahkan server pesan</string>
|
||||
<string name="delete_chat_profile">Hapus profil obrolan</string>
|
||||
<string name="v6_2_business_chats">Obrolan bisnis</string>
|
||||
<string name="remote_ctrl_disconnected_with_reason">Terputus dikarenakan: %s</string>
|
||||
<string name="remote_host_disconnected_from"><![CDATA[Terputus dari ponsel <b>%s</b> dengan alasan: %s]]></string>
|
||||
<string name="remote_ctrl_error_busy">Desktop sedang sibuk</string>
|
||||
<string name="rcv_group_event_group_deleted">grup dihapus</string>
|
||||
<string name="profile_update_event_contact_name_changed">kontak %1$s diubah menjadi %2$s</string>
|
||||
<string name="calls_prohibited_alert_title">Panggilan dilarang!</string>
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[Ketentuan sudah diterima untuk operator berikut: <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Ketentuan yang sama akan berlaku untuk operator: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_failed_to_load">Teks ketentuan saat ini tidak dapat dimuat, Anda dapat meninjau ketentuan via tautan ini:</string>
|
||||
<string name="direct_messages_are_prohibited">Pesan pribadi antar anggota dilarang.</string>
|
||||
<string name="migrate_from_device_choose_migrate_from_another_device"><![CDATA[Pilih <i>Pindah dari perangkat lain</i> pada perangkat baru dan pindai kode QR.]]></string>
|
||||
<string name="delete_contact_all_messages_deleted_cannot_undo_warning">Kontak dan semua pesan akan dihapus - ini tidak dapat dibatalkan!</string>
|
||||
<string name="delete_contact_cannot_undo_warning">Kontak akan dihapus - ini tidak dapat dibatalkan!</string>
|
||||
<string name="delete_contact_question">Hapus kontak?</string>
|
||||
<string name="contact_deleted">Kontak dihapus!</string>
|
||||
<string name="delete_without_notification">Hapus tanpa notifikasi</string>
|
||||
<string name="switch_receiving_address_question">Ubah alamat penerima?</string>
|
||||
<string name="icon_descr_server_status_disconnected">Terputus</string>
|
||||
<string name="add_contact_button_to_create_link_or_connect_via_link"><![CDATA[<b>Tambahkan kontak</b>: untuk buat tautan undangan baru, atau terhubung via tautan yang Anda terima.]]></string>
|
||||
<string name="delete_pending_connection__question">Hapus koneksi yang tertunda?</string>
|
||||
<string name="alert_title_contact_connection_pending">Kontak belum terhubung!</string>
|
||||
<string name="delete_address">Hapus alamat</string>
|
||||
<string name="delete_database">Hapus basis data</string>
|
||||
<string name="chat_database_deleted">Basis data obrolan dihapus</string>
|
||||
<string name="chat_database_imported">Basis data obrolan diimpor</string>
|
||||
<string name="send_receipts_disabled">Dimatikan</string>
|
||||
<string name="v6_0_connection_servers_status">Kontrol jaringan Anda</string>
|
||||
<string name="connecting_to_desktop">Menghubungkan ke desktop</string>
|
||||
<string name="desktop_app_version_is_incompatible">Versi aplikasi desktop %s tidak kompatibel dengan aplikasi ini.</string>
|
||||
<string name="remote_host_error_bad_state"><![CDATA[Koneksi ponsel <b>%s</b> dalam kondisi buruk]]></string>
|
||||
<string name="auth_device_authentication_is_not_enabled_you_can_turn_on_in_settings_once_enabled">Autentikasi perangkat tidak diaktifkan. Anda dapat aktifkan SimpleX Lock via Pengaturan, setelah mengaktifkan autentikasi perangkat.</string>
|
||||
<string name="auth_unavailable">Autentikasi tidak tersedia</string>
|
||||
<string name="auth_confirm_credential">Konfirmasi kredensial Anda</string>
|
||||
<string name="auth_device_authentication_is_disabled_turning_off">Autentikasi perangkat mati. Matikan SimpleX Lock.</string>
|
||||
<string name="auth_disable_simplex_lock">Matikan Kunci SimpleX</string>
|
||||
<string name="snd_error_relay">Kesalahan server tujuan: %1$s</string>
|
||||
<string name="delete_and_notify_contact">Hapus dan beritahu kontak</string>
|
||||
<string name="button_delete_contact">Hapus kontak</string>
|
||||
<string name="icon_descr_cancel_live_message">Batal pesan langsung</string>
|
||||
<string name="confirm_verb">Konfirmasi</string>
|
||||
<string name="create_group">Buat grup rahasia</string>
|
||||
<string name="camera_not_available">Kamera tidak tersedia</string>
|
||||
<string name="desktop_scan_QR_code_from_app_via_scan_QR_code"><![CDATA[💻 desktop: pindai kode QR yang ditampilkan dari aplikasi, via <b>Pindai kode QR</b>.]]></string>
|
||||
<string name="mobile_tap_open_in_mobile_app_then_tap_connect_in_app"><![CDATA[📱 ponsel: ketuk <b>Buka di aplikasi seluler</b>, lalu ketuk <b>Hubungkan</b> di aplikasi.]]></string>
|
||||
<string name="delete_contact_menu_action">Hapus</string>
|
||||
<string name="delete_group_menu_action">Hapus</string>
|
||||
<string name="icon_descr_cancel_link_preview">batal pratinjau tautan</string>
|
||||
<string name="icon_descr_close_button">Tombol tutup</string>
|
||||
<string name="icon_descr_email">Email</string>
|
||||
<string name="if_you_cannot_meet_in_person_scan_QR_in_video_call_or_ask_for_invitation_link"><![CDATA[Jika Anda tidak dapat bertemu langsung, Anda dapat <b>pindai kode QR dalam panggilan video</b>, atau kontak Anda dapat bagikan tautan undangan.]]></string>
|
||||
<string name="read_more_in_user_guide_with_link"><![CDATA[Lebih lanjut di <font color="#0088ff">Panduan Pengguna</font>.]]></string>
|
||||
<string name="enable_receipts_all">Aktifkan</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Ketika lebih dari satu operator diaktifkan, tidak satupun dari mereka memiliki metadata untuk mengetahui siapa yang berkomunikasi.</string>
|
||||
<string name="chat_is_running">Obrolan sedang berjalan</string>
|
||||
<string name="database_will_be_encrypted_and_passphrase_stored">Basis data akan dienkripsi dan frasa sandi disimpan di Keystore.</string>
|
||||
<string name="rcv_group_event_changed_your_role">mengubah hak Anda jadi %s</string>
|
||||
<string name="snd_conn_event_switch_queue_phase_changing">mengubah alamat…</string>
|
||||
<string name="snd_conn_event_switch_queue_phase_changing_for_member">mengubah alamat untuk %s…</string>
|
||||
<string name="share_text_database_id">ID basis data: %d</string>
|
||||
<string name="operator_added_xftp_servers">Menambahkan media dan berkas server</string>
|
||||
<string name="connect_plan_chat_already_exists">Obrolan sudah ada!</string>
|
||||
<string name="database_encrypted">Basis data dienkripsi!</string>
|
||||
<string name="database_encryption_will_be_updated_in_settings">Frasa sandi enkripsi basis data akan diperbarui dan disimpan di pengaturan.</string>
|
||||
<string name="database_encryption_will_be_updated">Frasa sandi enkripsi basis data akan diperbarui dan disimpan di Keystore.</string>
|
||||
<string name="mtr_error_different">migrasi berbeda di aplikasi/basis data: %s / %s</string>
|
||||
<string name="if_you_cannot_meet_in_person_show_QR_in_video_call_or_via_another_channel"><![CDATA[Jika Anda tidak dapat bertemu langsung, <b>tunjukkan kode QR dalam panggilan video</b>, atau bagikan tautan.]]></string>
|
||||
<string name="dont_create_address">Jangan buat alamat</string>
|
||||
<string name="servers_info_details">Rincian</string>
|
||||
<string name="connections">Koneksi</string>
|
||||
<string name="connected_to_mobile">Terhubung ke ponsel</string>
|
||||
<string name="dont_enable_receipts">Jangan aktifkan</string>
|
||||
<string name="open_on_mobile_and_scan_qr_code"><![CDATA[Buka <i>Gunakan dari desktop</i> di aplikasi seluler dan pindai kode QR.]]></string>
|
||||
<string name="desktop_device">Desktop</string>
|
||||
<string name="display_name_accepted_invitation">undangan diterima</string>
|
||||
<string name="display_name_requested_to_connect">diminta untuk terhubung</string>
|
||||
<string name="auth_open_chat_profiles">Ubah profil obrolan</string>
|
||||
<string name="snd_error_quota">Kapasitas terlampaui - penerima tidak menerima pesan yang dikirim sebelumnya.</string>
|
||||
<string name="one_time_link_can_be_used_with_one_contact_only"><![CDATA[tautan 1-kali dapat digunakan <i>hanya dengan satu kontak</i> - bagikan secara langsung atau melalui messenger apa pun.]]></string>
|
||||
<string name="copied">Disalin ke papan klip</string>
|
||||
<string name="share_one_time_link">Buat tautan undangan satu-kali</string>
|
||||
<string name="maximum_supported_file_size">Saat ini maksimal ukuran berkas adalah %1$s.</string>
|
||||
<string name="you_can_also_connect_by_clicking_the_link"><![CDATA[Anda juga dapat terhubung dengan ketuk tautan. Jika tautan terbuka di peramban, ketuk <b>Buka di ponsel</b>.]]></string>
|
||||
<string name="address_settings">Pengaturan alamat</string>
|
||||
<string name="add_your_team_members_to_conversations">Tambahkan anggota tim Anda ke percakapan.</string>
|
||||
<string name="business_address">Alamat bisnis</string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Semua pesan dan berkas dikirim <b>dengan enkripsi end-to-end</b>, dengan keamanan post-quantum dalam pesan pribadi.]]></string>
|
||||
<string name="create_1_time_link">Buat tautan 1-kali</string>
|
||||
<string name="onboarding_notifications_mode_battery">Notifikasi dan baterai</string>
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Tiada layanan latar belakang</string>
|
||||
<string name="onboarding_notifications_mode_service_desc_short">Aplikasi selalu berjalan di latar belakang</string>
|
||||
<string name="onboarding_notifications_mode_periodic_desc_short">Periksa pesan setiap 10 menit</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Pilih operator jaringan yang akan digunakan.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Misalnya, jika kontak Anda menerima pesan melalui server SimpleX Chat, aplikasi Anda akan mengirimkannya melalui server Flux.</string>
|
||||
<string name="how_it_helps_privacy">Bagaimana ini membantu privasi</string>
|
||||
<string name="onboarding_network_operators_continue">Lanjutkan</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">Anda dapat konfigurasi server di pengaturan.</string>
|
||||
<string name="read_more_in_github_with_link"><![CDATA[Lebih lengkap di <font color="#0088ff">repositori GitHub</font> kami.]]></string>
|
||||
<string name="onboarding_network_operators_review_later">Nilai nanti</string>
|
||||
<string name="onboarding_network_operators_update">Perbarui</string>
|
||||
<string name="migrate_to_device_downloading_details">Rincian tautan unduhan</string>
|
||||
<string name="network_session_mode_user_description"><![CDATA[Koneksi TCP terpisah (dan kredensial SOCKS) akan digunakan <b>untuk setiap profil obrolan yang Anda miliki di aplikasi</b>.]]></string>
|
||||
<string name="network_session_mode_entity_description"><![CDATA[Koneksi TCP terpisah (dan kredensial SOCKS) akan digunakan <b>untuk setiap kontak dan anggota grup</b>.\n<b>Harap diperhatikan</b>: jika Anda memiliki banyak koneksi, konsumsi baterai dan lalu lintas dapat jauh lebih tinggi dan beberapa koneksi mungkin gagal.]]></string>
|
||||
<string name="app_check_for_updates_download_started">Mengunduh pembaruan aplikasi, jangan tutup aplikasi</string>
|
||||
<string name="app_check_for_updates_notice_disable">Mati</string>
|
||||
<string name="create_simplex_address">Buat alamat SimpleX</string>
|
||||
<string name="create_address_and_let_people_connect">Buat alamat agar orang dapat terhubung dengan Anda.</string>
|
||||
<string name="continue_to_next_step">Lanjutkan</string>
|
||||
<string name="delete_image">Hapus gambar</string>
|
||||
<string name="edit_image">Edit gambar</string>
|
||||
<string name="onboarding_notifications_mode_service_desc"><![CDATA[<b>Mengonsumsi banyak baterai</b>! Aplikasi selalu berjalan di latar belakang – notifikasi ditampilkan secara instan.]]></string>
|
||||
<string name="settings_message_shape_corner">Sudut</string>
|
||||
<string name="dont_show_again">Jangan tampilkan lagi</string>
|
||||
<string name="migrate_from_device_confirm_upload">Konfirmasi unggahan</string>
|
||||
<string name="migrate_from_device_archive_and_upload">Arsip dan unggah</string>
|
||||
<string name="deleted">Dihapus</string>
|
||||
<string name="desktop_connection_terminated">Koneksi dihentikan</string>
|
||||
<string name="desktop_address">Alamat desktop</string>
|
||||
<string name="desktop_devices">Perangkat desktop</string>
|
||||
<string name="onboarding_network_about_operators">Tentang operator</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat dan Flux membuat kesepakatan untuk sertakan server yang dioperasikan Flux ke aplikasi.</string>
|
||||
<string name="delete_chat_profile_question">Hapus profil obrolan?</string>
|
||||
<string name="chat_is_stopped_you_should_transfer_database">Obrolan dihentikan. Jika Anda sudah gunakan basis data ini di perangkat lain, Anda harus transfer kembali sebelum memulai obrolan.</string>
|
||||
<string name="database_passphrase_will_be_updated">Frasa sandi enkripsi basis data akan diperbarui.</string>
|
||||
<string name="database_passphrase_is_required">Frasa sandi basis data diperlukan untuk membuka obrolan.</string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[Ketentuan ini juga berlaku untuk: <b>%s</b>.]]></string>
|
||||
<string name="migrate_from_device_you_must_not_start_database_on_two_device"><![CDATA[Anda <b>tidak</b> boleh menggunakan basis data yang sama pada dua perangkat.]]></string>
|
||||
<string name="connected_to_desktop">Terhubung ke desktop</string>
|
||||
<string name="connect_to_desktop">Hubungkan ke desktop</string>
|
||||
<string name="custom_time_unit_days">hari</string>
|
||||
<string name="decryption_errors">kesalahan dekripsi</string>
|
||||
<string name="disconnect_remote_hosts">Putuskan ponsel</string>
|
||||
<string name="multicast_discoverable_via_local_network">Dapat ditemukan melalui jaringan lokal</string>
|
||||
<string name="duplicates_label">duplikat</string>
|
||||
<string name="v6_1_better_security">Keamanan yang lebih baik ✅</string>
|
||||
<string name="v6_1_customizable_message_descr">Bentuk pesan yang dapat disesuaikan.</string>
|
||||
<string name="migrate_from_device_using_on_two_device_breaks_encryption"><![CDATA[<b>Harap diperhatikan</b>: menggunakan database yang sama pada dua perangkat akan merusak dekripsi pesan dari koneksi Anda, sebagai perlindungan keamanan.]]></string>
|
||||
<string name="connect_plan_you_are_already_joining_the_group_vName"><![CDATA[Anda sudah bergabung dengan grup <b>%1$s</b>.]]></string>
|
||||
<string name="rcv_conn_event_switch_queue_phase_changing">mengubah alamat…</string>
|
||||
<string name="delete_link_question">Hapus tautan?</string>
|
||||
<string name="delete_link">Hapus tautan</string>
|
||||
<string name="disconnect_remote_host">Putuskan</string>
|
||||
<string name="servers_info_connected_servers_section_header">Server terhubung</string>
|
||||
<string name="delete_member_message__question">Hapus pesan anggota?</string>
|
||||
<string name="v6_1_message_dates_descr">Tanggal pesan lebih baik.</string>
|
||||
<string name="new_desktop"><![CDATA[<i>(baru)</i>]]></string>
|
||||
<string name="connect_plan_you_are_already_connected_with_vName"><![CDATA[Anda sudah terhubung dengan <b>%1$s</b>.]]></string>
|
||||
<string name="created">Dibuat</string>
|
||||
<string name="delete_members_messages__question">Hapus %d pesan anggota?</string>
|
||||
<string name="failed_to_save_servers">Gagal simpan server</string>
|
||||
<string name="ci_status_other_error">Galat: %1$s</string>
|
||||
<string name="image_will_be_received_when_contact_completes_uploading">Gambar akan diterima setelah kontak Anda selesai mengunggah.</string>
|
||||
<string name="error_saving_file">Gagal simpan berkas</string>
|
||||
<string name="invalid_contact_link">Tautan tidak valid!</string>
|
||||
<string name="app_check_for_updates_button_install">Instal pembaruan</string>
|
||||
<string name="hide_dev_options">Sembunyikan:</string>
|
||||
<string name="for_social_media">Untuk media sosial</string>
|
||||
<string name="settings_experimental_features">Fitur eksperimental</string>
|
||||
<string name="auth_enable_simplex_lock">Aktifkan Kunci SimpleX</string>
|
||||
<string name="file_error_no_file">Berkas tidak ditemukan - kemungkinan besar telah dihapus atau dibatalkan.</string>
|
||||
<string name="file_error_relay">Kesalahan berkas server: %1$s</string>
|
||||
<string name="in_reply_to">Balasan untuk</string>
|
||||
<string name="choose_file">Berkas</string>
|
||||
<string name="gallery_image_button">gambar</string>
|
||||
<string name="favorite_chat">Favorit</string>
|
||||
<string name="exit_without_saving">Keluar tanpa menyimpan</string>
|
||||
<string name="file_with_path">Berkas: %s</string>
|
||||
<string name="group_invitation_item_description">undangan ke grup %1$s</string>
|
||||
<string name="alert_title_no_group">Grup tidak ditemukan!</string>
|
||||
<string name="error_sending_message_contact_invitation">Gagal kirim undangan</string>
|
||||
<string name="action_button_add_members">Undang</string>
|
||||
<string name="info_row_file_status">Status berkas</string>
|
||||
<string name="error_changing_role">Gagal ganti hak</string>
|
||||
<string name="error_removing_member">Gagal hapus anggota</string>
|
||||
<string name="incognito">Samaran</string>
|
||||
<string name="incognito_info_protects">Mode samaran melindungi privasi Anda dengan menggunakan profil acak baru untuk setiap kontak.</string>
|
||||
<string name="error_enabling_delivery_receipts">Gagal aktifkan tanda terima pengirim!</string>
|
||||
<string name="enter_this_device_name">Masukkan nama perangkat ini…</string>
|
||||
<string name="migrate_to_device_import_failed">Impor gagal</string>
|
||||
<string name="migrate_to_device_error_downloading_archive">Gagal unduh arsipan</string>
|
||||
<string name="migrate_from_device_exported_file_doesnt_exist">Berkas yang diekspor tidak ada</string>
|
||||
<string name="migrate_from_device_finalize_migration">Selesaikan migrasi</string>
|
||||
<string name="servers_info_reset_stats_alert_error_title">Gagal atur ulang statistik</string>
|
||||
<string name="error_importing_database">Gagal impor basis data obrolan</string>
|
||||
<string name="error_deleting_database">Gagal hapus basis data obrolan</string>
|
||||
<string name="files_and_media_section">Berkas dan media</string>
|
||||
<string name="encrypt_database_question">Enkripsi basis data?</string>
|
||||
<string name="incompatible_database_version">Versi basis data tidak kompatibel</string>
|
||||
<string name="section_title_for_console">UNTUK KONSOL</string>
|
||||
<string name="connect_plan_group_already_exists">Grup sudah ada!</string>
|
||||
<string name="migrate_to_device_enter_passphrase">Masukkan frasa sandi</string>
|
||||
<string name="enable_automatic_deletion_question">Aktifkan hapus pesan otomatis?</string>
|
||||
<string name="encrypted_database">Basis data terenkripsi</string>
|
||||
<string name="invalid_migration_confirmation">Konfirmasi migrasi tidak valid</string>
|
||||
<string name="group_invitation_expired">Undangan grup kedaluwarsa</string>
|
||||
<string name="conn_event_ratchet_sync_allowed">negosiasi ulang enkripsi diperbolehkan</string>
|
||||
<string name="conn_event_ratchet_sync_required">negosiasi ulang enkripsi diperlukan</string>
|
||||
<string name="snd_conn_event_ratchet_sync_allowed">negosiasi ulang enkripsi diizinkan untuk %s</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux">Aktifkan flux</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux_reason">untuk privasi metadata lebih baik.</string>
|
||||
<string name="v6_2_improved_chat_navigation">Navigasi obrolan ditingkatkan</string>
|
||||
<string name="error">Galat</string>
|
||||
<string name="migrate_to_device_finalize_migration">Selesaikan migrasi pada perangkat lain.</string>
|
||||
<string name="migrate_from_device_error_verifying_passphrase">Gagal verifikasi frasa sandi:</string>
|
||||
<string name="servers_info_reconnect_server_error">Gagal hubungkan ulang server</string>
|
||||
<string name="servers_info_reconnect_servers_error">Gagal hubungkan ulang server</string>
|
||||
<string name="settings_section_title_experimenta">EKSPERIMENTAL</string>
|
||||
<string name="export_database">Ekspor basis data</string>
|
||||
<string name="import_database">Impor basis data</string>
|
||||
<string name="error_stopping_chat">Gagal hentikan obrolan</string>
|
||||
<string name="error_changing_message_deletion">Gagal ganti pengaturan</string>
|
||||
<string name="error_with_info">Galat: %s</string>
|
||||
<string name="icon_descr_group_inactive">Grup tidak aktif</string>
|
||||
<string name="alert_title_group_invitation_expired">Undangan kedaluwarsa!</string>
|
||||
<string name="snd_group_event_group_profile_updated">profil grup diperbarui</string>
|
||||
<string name="initial_member_role">Hak awal</string>
|
||||
<string name="error_creating_link_for_group">Gagal membuat tautan grup</string>
|
||||
<string name="error_deleting_link_for_group">Gagal hapus tautan grup</string>
|
||||
<string name="error_updating_link_for_group">Gagal perbarui tautan grup</string>
|
||||
<string name="error_creating_member_contact">Gagal membuat kontak anggota</string>
|
||||
<string name="user_hide">Sembunyikan</string>
|
||||
<string name="image_will_be_received_when_contact_is_online">Gambar akan diterima saat kontak Anda online, harap tunggu atau periksa nanti!</string>
|
||||
<string name="file_error">Kesalahan berkas</string>
|
||||
<string name="from_gallery_button">Dari Galeri</string>
|
||||
<string name="how_to_use_markdown">Cara menggunakan markdown</string>
|
||||
<string name="alert_message_group_invitation_expired">Undangan grup tidak lagi berlaku, telah dihapus oleh pengirim.</string>
|
||||
<string name="operator_use_for_messages_private_routing">Untuk routing pribadi</string>
|
||||
<string name="error_updating_server_title">Gagal perbarui server</string>
|
||||
<string name="enter_password_to_show">Masukkan kata sandi dalam pencarian</string>
|
||||
<string name="enter_correct_passphrase">Masukkan frasa sandi yang benar.</string>
|
||||
<string name="custom_time_unit_hours">jam</string>
|
||||
<string name="desktop_incompatible_version">Versi tidak kompatibel</string>
|
||||
<string name="servers_info_sessions_errors">Galat</string>
|
||||
<string name="snd_error_proxy">Server penerusan: %1$s\nKesalahan: %2$s</string>
|
||||
<string name="snd_error_proxy_relay">Server penerusan: %1$s\nKesalahan server tujuan: %2$s</string>
|
||||
<string name="files_and_media_prohibited">Berkas dan media dilarang!</string>
|
||||
<string name="file_will_be_received_when_contact_completes_uploading">Berkas akan diterima setelah kontak Anda selesai mengunggah.</string>
|
||||
<string name="file_will_be_received_when_contact_is_online">Berkas akan diterima saat kontak Anda online, harap tunggu atau periksa nanti!</string>
|
||||
<string name="enable_camera_access">Aktifkan akses kamera</string>
|
||||
<string name="if_you_received_simplex_invitation_link_you_can_open_in_browser">Jika Anda menerima tautan undangan SimpleX Chat, Anda dapat buka di peramban Anda:</string>
|
||||
<string name="icon_descr_help">bantuan</string>
|
||||
<string name="if_you_cant_meet_in_person">Jika Anda tidak dapat bertemu langsung, tunjukkan kode QR dalam panggilan video, atau bagikan tautan.</string>
|
||||
<string name="network_option_enable_tcp_keep_alive">Aktifkan TCP keep-alive</string>
|
||||
<string name="error_starting_chat">Gagal memulai obrolan</string>
|
||||
<string name="settings_section_title_incognito">Mode samaran</string>
|
||||
<string name="migrate_from_device_error_deleting_database">Gagal hapus basis data</string>
|
||||
<string name="invalid_QR_code">Kode QR tidak valid</string>
|
||||
<string name="error_encrypting_database">Gagal enkripsi basis data</string>
|
||||
<string name="icon_descr_server_status_error">Galat</string>
|
||||
<string name="import_database_confirmation">Impor</string>
|
||||
<string name="expired_label">kedaluwarsa</string>
|
||||
<string name="if_you_choose_to_reject_the_sender_will_not_be_notified">Jika Anda memilih menolak, pengirim TIDAK akan diberitahu.</string>
|
||||
<string name="errors_in_servers_configuration">Kesalahan dalam konfigurasi server.</string>
|
||||
<string name="for_chat_profile">Untuk profil obrolan %s:</string>
|
||||
<string name="error_accepting_operator_conditions">Gagal menerima ketentuan</string>
|
||||
<string name="app_check_for_updates_installed_successfully_title">Berhasil diinstal</string>
|
||||
<string name="hide_profile">Sembunyikan profil</string>
|
||||
<string name="enter_passphrase">Masukkan frasa sandi…</string>
|
||||
<string name="migrate_to_device_file_delete_or_link_invalid">Berkas telah dihapus atau tautan tidak valid</string>
|
||||
<string name="enter_welcome_message_optional">Masukkan pesan sambutan… (opsional)</string>
|
||||
<string name="full_name__field">Nama lengkap:</string>
|
||||
<string name="migrate_from_device_chat_should_be_stopped">Untuk melanjutkan, obrolan harus dihentikan.</string>
|
||||
<string name="snd_conn_event_ratchet_sync_required">negosiasi ulang enkripsi diperlukan untuk %s</string>
|
||||
<string name="icon_descr_expand_role">Perluas pemilihan hak</string>
|
||||
<string name="found_desktop">Ditemukan desktop</string>
|
||||
<string name="migrate_from_device_error_saving_settings">Gagal simpan pengaturan</string>
|
||||
<string name="snd_conn_event_ratchet_sync_ok">enkripsi ok untuk %s</string>
|
||||
<string name="error_exporting_chat_database">Gagal ekspor basis data obrolan</string>
|
||||
<string name="import_database_question">Impor basis data obrolan?</string>
|
||||
<string name="conn_level_desc_indirect">tidak langsung (%1$s)</string>
|
||||
<string name="error_adding_server">Gagal menambah server</string>
|
||||
<string name="migrate_from_device_error_uploading_archive">Gagal perbarui arsipan</string>
|
||||
<string name="error_blocking_member_for_all">Gagal blokir anggota untuk semua</string>
|
||||
<string name="error_saving_user_password">Gagal simpan kata sandi pengguna</string>
|
||||
<string name="invalid_file_link">Tautan tidak valid</string>
|
||||
<string name="no_message_servers_configured">Tiada server pesan.</string>
|
||||
<string name="no_message_servers_configured_for_private_routing">Tiada server untuk routing pesan pribadi.</string>
|
||||
<string name="no_media_servers_configured">Tiada server media dan berkas.</string>
|
||||
<string name="no_message_servers_configured_for_receiving">Tiada server untuk menerima pesan.</string>
|
||||
<string name="or_to_share_privately">Atau bagikan secara pribadi</string>
|
||||
<string name="save_and_notify_group_members">Simpan dan beritahu anggota grup</string>
|
||||
<string name="current_version_timestamp">%s (saat ini)</string>
|
||||
<string name="unblock_member_desc">Pesan dari %s akan ditampilkan!</string>
|
||||
<string name="auth_log_in_using_credential">Masuk dengan kredensial Anda</string>
|
||||
<string name="send_disappearing_message_send">Kirim</string>
|
||||
<string name="save_and_notify_contacts">Simpan dan beritahu kontak</string>
|
||||
<string name="alert_title_msg_bad_id">ID pesan salah</string>
|
||||
<string name="keychain_error">Kesalahan Keychain</string>
|
||||
<string name="save_passphrase_and_open_chat">Simpan frasa sandi dan buka obrolan</string>
|
||||
<string name="open_chat">Buka obrolan</string>
|
||||
<string name="restore_passphrase_not_found_desc">Frasa sandi tidak ditemukan di Keystore, silakan masukkan secara manual. Hal ini mungkin terjadi jika Anda pulihkan data aplikasi menggunakan alat cadangan. Jika tidak, silakan hubungi pengembang.</string>
|
||||
<string name="one_hand_ui">Toolbar aplikasi yang dijangkau</string>
|
||||
<string name="member_will_be_removed_from_group_cannot_be_undone">Anggota akan dihapus dari grup - ini tidak dapat dibatalkan!</string>
|
||||
<string name="network_option_protocol_timeout_per_kb">Batas waktu protokol per KB</string>
|
||||
<string name="network_option_rcv_concurrency">Menerima konkurensi</string>
|
||||
<string name="profile_password">Kata sandi profil</string>
|
||||
<string name="v4_5_italian_interface">Antarmuka Italia</string>
|
||||
<string name="link_a_mobile">Hubungkan ponsel</string>
|
||||
<string name="you_can_enable_delivery_receipts_later_alert">Anda dapat aktifkan nanti di pengaturan Privasi dan Keamanan aplikasi.</string>
|
||||
<string name="linked_desktop_options">Opsi desktop tertaut</string>
|
||||
<string name="migrate_from_device_try_again">Anda dapat mencoba lagi.</string>
|
||||
<string name="servers_info_reset_stats_alert_confirm">Reset</string>
|
||||
<string name="settings_restart_app">Mulai ulang</string>
|
||||
<string name="restart_the_app_to_use_imported_chat_database">Mulai ulang aplikasi untuk gunakan basis data obrolan yang diimpor.</string>
|
||||
<string name="restore_database">Pulihkan cadangan basis data</string>
|
||||
<string name="database_restore_error">Gagal pulihkan basis data</string>
|
||||
<string name="you_can_share_group_link_anybody_will_be_able_to_connect">Anda dapat bagikan tautan atau kode QR - siapa pun dapat bergabung ke grup. Anda tidak akan kehilangan anggota grup jika nanti Anda hapus.</string>
|
||||
<string name="send_receipts_disabled_alert_title">Tanda terima dimatikan</string>
|
||||
<string name="you_can_share_this_address_with_your_contacts">Anda dapat bagikan alamat ini dengan kontak agar dapat terhubung dengan %s.</string>
|
||||
<string name="you_can_enable_delivery_receipts_later">Anda dapat aktifkan nanti di Pengaturan</string>
|
||||
<string name="sending_delivery_receipts_will_be_enabled_all_profiles">Kirim tanda terima pengirim akan diaktifkan untuk semua kontak di semua profil obrolan yang terlihat.</string>
|
||||
<string name="or_paste_archive_link">Atau tempel tautan arsip</string>
|
||||
<string name="migrate_to_device_database_init">Mempersiapkan unduhan</string>
|
||||
<string name="migrate_to_device_title">Pindah ke sini</string>
|
||||
<string name="migrate_to_device_repeat_import">Impor ulang</string>
|
||||
<string name="migrate_to_device_confirm_network_settings_footer">Harap konfirmasi bahwa pengaturan jaringan sudah benar untuk perangkat ini.</string>
|
||||
<string name="migrate_from_device_database_init">Mempersiapkan unggahan</string>
|
||||
<string name="servers_info_reconnect_servers_message">Hubungkan ulang semua server yang terhubung untuk paksa kirim pesan. Ini menggunakan lalu lintas tambahan.</string>
|
||||
<string name="servers_info_reconnect_server_title">Hubungkan ulang server?</string>
|
||||
<string name="servers_info_reset_stats">Reset semua statistik</string>
|
||||
<string name="servers_info_reset_stats_alert_title">Reset seluruh statistik?</string>
|
||||
<string name="servers_info_reconnect_all_servers_button">Hubungkan ulang semua server</string>
|
||||
<string name="save_passphrase_in_keychain">Simpan frasa sandi di Keystore</string>
|
||||
<string name="info_row_local_name">Nama lokal</string>
|
||||
<string name="info_row_sent_at">Dikirim pada</string>
|
||||
<string name="info_row_received_at">Diterima pada</string>
|
||||
<string name="network_options_reset_to_defaults">Reset ke bawaan</string>
|
||||
<string name="v6_2_network_decentralization">Jaringan desentralisasi</string>
|
||||
<string name="sending_delivery_receipts_will_be_enabled">Kirim tanda terima pengirim akan diaktifkan untuk semua kontak.</string>
|
||||
<string name="linked_desktops">Desktop terhubung</string>
|
||||
<string name="migrate_to_device_bytes_downloaded">%s diunduh</string>
|
||||
<string name="servers_info_messages_received">Pesan diterima</string>
|
||||
<string name="info_row_updated_at">Catatan diperbarui pada</string>
|
||||
<string name="settings_section_title_messages">PESAN DAN BERKAS</string>
|
||||
<string name="settings_section_title_user_theme">Tema profil</string>
|
||||
<string name="settings_section_title_profile_images">Gambar profil</string>
|
||||
<string name="enter_correct_current_passphrase">Harap masukkan frasa sandi saat ini yang benar.</string>
|
||||
<string name="database_migrations">Migrasi: %s</string>
|
||||
<string name="rcv_group_event_1_member_connected">%s terhubung</string>
|
||||
<string name="profile_update_event_member_name_changed">anggota %1$s berubah menjadi %2$s</string>
|
||||
<string name="info_row_message_status">Status pesan</string>
|
||||
<string name="info_row_moderated_at">Dimoderasi pada</string>
|
||||
<string name="button_send_direct_message">Kirim pesan pribadi</string>
|
||||
<string name="network_option_protocol_timeout">Batas waktu protokol</string>
|
||||
<string name="network_options_save_and_reconnect">Simpan dan hubungkan ulang</string>
|
||||
<string name="incognito_info_allows">Memungkinkan adanya banyak koneksi anonim tanpa ada data bersama di antara mereka dalam satu profil obrolan.</string>
|
||||
<string name="servers_info_reconnect_servers_title">Hubungkan ulang server?</string>
|
||||
<string name="maximum_message_size_title">Pesan terlalu besar!</string>
|
||||
<string name="maximum_message_size_reached_non_text">Mohon kurangi ukuran pesan atau hapus media dan kirim lagi.</string>
|
||||
<string name="maximum_message_size_reached_text">Mohon kurangi ukuran pesan dan kirim lagi.</string>
|
||||
<string name="maximum_message_size_reached_forwarding">Anda dapat salin dan kurangi ukuran pesan untuk kirim.</string>
|
||||
<string name="reset_verb">Reset</string>
|
||||
<string name="send_live_message_desc">Kirim pesan langsung - pesan akan diperbarui pada penerima saat Anda mengetik</string>
|
||||
<string name="icon_descr_send_message">Kirim Pesan</string>
|
||||
<string name="mark_unread">Tandai belum dibaca</string>
|
||||
<string name="you_can_set_connection_name_to_remember">Anda dapat setel nama koneksi, untuk mengingat dengan siapa tautan dibagikan.</string>
|
||||
<string name="app_check_for_updates_button_open">Buka lokasi berkas</string>
|
||||
<string name="app_check_for_updates_installed_successfully_desc">Silakan mulai ulang aplikasi.</string>
|
||||
<string name="join_group_incognito_button">Gabung ke samaran</string>
|
||||
<string name="sender_at_ts">%s pada %s</string>
|
||||
<string name="member_will_be_removed_from_chat_cannot_be_undone">Anggota akan dihapus dari obrolan - ini tidak dapat dibatalkan!</string>
|
||||
<string name="operator_server_alert_title">Server operator</string>
|
||||
<string name="server_added_to_operator__name">Server ditambah ke operator %s.</string>
|
||||
<string name="error_server_operator_changed">Operator server berubah.</string>
|
||||
<string name="error_server_protocol_changed">Protokol server berubah.</string>
|
||||
<string name="network_option_ping_count">Jumlah PING</string>
|
||||
<string name="network_option_ping_interval">Interval PING</string>
|
||||
<string name="v6_2_improved_chat_navigation_descr">- Buka obrolan pada pesan belum dibaca pertama.\n- Lompat ke pesan yang dikutip.</string>
|
||||
<string name="custom_time_picker_select">Pilih</string>
|
||||
<string name="servers_info_reconnect_server_message">Hubungkan ulang server untuk paksa kirim pesan. Ini menggunakan lalu lintas tambahan.</string>
|
||||
<string name="chat_bottom_bar">Bilah alat obrolan yang dijangkau</string>
|
||||
<string name="profile_update_event_removed_picture">foto profil dihapus</string>
|
||||
<string name="rcv_group_event_2_members_connected">%s dan %s terhubung</string>
|
||||
<string name="v6_2_business_chats_descr">Privasi untuk pelanggan Anda.</string>
|
||||
<string name="migrate_to_device_repeat_download">Unduh ulang</string>
|
||||
<string name="migrate_to_device_try_again">Anda dapat mencoba lagi.</string>
|
||||
<string name="migrate_from_device_remove_archive_question">Hapus arsip?</string>
|
||||
<string name="migrate_from_device_repeat_upload">Unggah ulang</string>
|
||||
<string name="keep_conversation">Simpan percakapan</string>
|
||||
<string name="you_can_still_send_messages_to_contact">Anda dapat kirim pesan ke %1$s dari kontak yang diarsip.</string>
|
||||
<string name="switch_receiving_address_desc">Alamat penerima akan diubah ke server lain. Perubahan alamat akan selesai setelah pengirim online.</string>
|
||||
<string name="ask_your_contact_to_enable_voice">Minta kontak Anda untuk aktifkan kirim pesan suara.</string>
|
||||
<string name="image_descr_profile_image">gambar profil</string>
|
||||
<string name="save_auto_accept_settings">Simpan pengaturan terima otomatis</string>
|
||||
<string name="share_text_updated_at">Catatan diperbarui pada: %s</string>
|
||||
<string name="network_option_seconds_label">dtk</string>
|
||||
<string name="bad_desktop_address">Alamat desktop salah</string>
|
||||
<string name="scan_qr_code_from_desktop">Pindai kode QR dari desktop</string>
|
||||
<string name="servers_info_messages_sent">Pesan terkirim</string>
|
||||
<string name="moderated_item_description">dimoderasi oleh %s</string>
|
||||
<string name="auth_open_chat_console">Buka konsol obrolan</string>
|
||||
<string name="message_delivery_warning_title">Peringatan kirim pesan</string>
|
||||
<string name="message_delivery_error_title">Kesalahan kirim pesan</string>
|
||||
<string name="recipients_can_not_see_who_message_from">Penerima tidak dapat melihat siapa pengirim pesan ini.</string>
|
||||
<string name="observer_cant_send_message_desc">Silakan hubungi admin grup.</string>
|
||||
<string name="loading_remote_file_title">Memuat berkas</string>
|
||||
<string name="loading_remote_file_desc">Harap tunggu sementara berkas sedang dimuat dari ponsel yang terhubung</string>
|
||||
<string name="icon_descr_server_status_pending">Tertunda</string>
|
||||
<string name="sync_connection_force_question">Negosiasi ulang enkripsi?</string>
|
||||
<string name="sync_connection_force_confirm">Negosiasi ulang</string>
|
||||
<string name="send_disappearing_message">Kirim pesan sementara</string>
|
||||
<string name="send_verb">Kirim</string>
|
||||
<string name="scan_QR_code">Pindai kode QR</string>
|
||||
<string name="connect_via_link_or_qr_from_clipboard_or_in_person">(pindai atau tempel dari papan klip)</string>
|
||||
<string name="toast_permission_denied">Izin Ditolak!</string>
|
||||
<string name="mark_read">Tandai dibaca</string>
|
||||
<string name="image_descr_link_preview">tautan pratinjau gambar</string>
|
||||
<string name="you_can_share_your_address">Anda dapat bagikan alamat sebagai tautan atau kode QR - siapa pun dapat terhubung dengan Anda.</string>
|
||||
<string name="network_options_save">Simpan</string>
|
||||
<string name="make_profile_private">Jadikan profil pribadi!</string>
|
||||
<string name="remote_hosts_section">Ponsel jarak jauh</string>
|
||||
<string name="run_chat_section">JALANKAN OBROLAN</string>
|
||||
<string name="store_passphrase_securely_without_recover">Harap simpan frasa sandi dengan aman, Anda TIDAK akan dapat mengakses obrolan jika hilang.</string>
|
||||
<string name="rcv_group_event_member_deleted">dihapus %1$s</string>
|
||||
<string name="share_text_sent_at">Dikirim pada: %s</string>
|
||||
<string name="integrity_msg_bad_id">ID pesan salah</string>
|
||||
<string name="remove_passphrase_from_keychain">Hapus frasa sandi dari Keystore?</string>
|
||||
<string name="remove_passphrase_from_settings">Hapus frasa sandi dari pengaturan?</string>
|
||||
<string name="save_passphrase_in_settings">Simpan frasa sandi di pengaturan</string>
|
||||
<string name="proxied">Diproxy</string>
|
||||
<string name="paste_the_link_you_received_to_connect_with_your_contact">Tempel tautan yang Anda terima untuk terhubung dengan kontak…</string>
|
||||
<string name="other_label">lainnya</string>
|
||||
<string name="send_live_message">Kirim pesan langsung</string>
|
||||
<string name="live_message">Pesan langsung!</string>
|
||||
<string name="image_descr_qr_code">Kode QR</string>
|
||||
<string name="migrate_to_device_migrating">Memindah</string>
|
||||
<string name="server_address">Alamat server</string>
|
||||
<string name="open_server_settings_button">Buka pengaturan server</string>
|
||||
<string name="profile_update_event_removed_address">alamat kontak dihapus</string>
|
||||
<string name="v6_0_chat_list_media">Putar dari daftar obrolan.</string>
|
||||
<string name="linked_mobiles">Ponsel terhubung</string>
|
||||
<string name="scan_from_mobile">Pindai dari ponsel</string>
|
||||
<string name="network_type_other">Lainnya</string>
|
||||
<string name="no_media_servers_configured_for_private_routing">Tiada server untuk menerima berkas.</string>
|
||||
<string name="no_media_servers_configured_for_sending">Tiada server untuk kirim berkas.</string>
|
||||
<string name="message_deleted_or_not_received_error_title">Tiada pesan</string>
|
||||
<string name="auth_open_migration_to_another_device">Buka layar migrasi</string>
|
||||
<string name="delete_messages_cannot_be_undone_warning">Pesan akan dihapus - ini tidak dapat dibatalkan!</string>
|
||||
<string name="icon_descr_profile_image_placeholder">tempat penampung gambar profil</string>
|
||||
<string name="srv_error_host">Alamat server tidak kompatibel dengan pengaturan jaringan.</string>
|
||||
<string name="password_to_show">Kata sandi ditampilkan</string>
|
||||
<string name="app_check_for_updates_button_remind_later">Ingatkan nanti</string>
|
||||
<string name="restore_database_alert_desc">Harap masukkan kata sandi sebelumnya setelah memulihkan cadangan basis data. Tindakan ini tidak dapat dibatalkan.</string>
|
||||
<string name="restore_database_alert_confirm">Pulihkan</string>
|
||||
<string name="you_can_start_chat_via_setting_or_by_restarting_the_app">Anda dapat mulai obrolan via Pengaturan aplikasi / Basis Data atau dengan mulai ulang aplikasi.</string>
|
||||
<string name="only_chat_owners_can_change_prefs">Hanya pemilik obrolan yang dapat ubah preferensi.</string>
|
||||
<string name="send_receipts">Kirim tanda terima</string>
|
||||
<string name="custom_time_unit_seconds">detik</string>
|
||||
<string name="agent_critical_error_desc">Harap laporkan ke pengembang:\n%s\n\nDisarankan untuk memulai ulang aplikasi.</string>
|
||||
<string name="custom_time_unit_minutes">menit</string>
|
||||
<string name="network_session_mode_session_description">Kredensial SOCKS baru akan digunakan setiap kali Anda memulai aplikasi.</string>
|
||||
<string name="email_invite_subject">Mari bicara di SimpleX Chat</string>
|
||||
<string name="save_and_notify_contact">Simpan dan beritahu kontak</string>
|
||||
<string name="save_preferences_question">Simpan preferensi?</string>
|
||||
<string name="you_can_create_it_later">Anda dapat buat nanti</string>
|
||||
<string name="join_group_question">Gabung ke grup?</string>
|
||||
<string name="joining_group">Bergabung dengan grup</string>
|
||||
<string name="calls_prohibited_ask_to_enable_calls_alert_text">Minta kontak Anda untuk aktifkan panggilan.</string>
|
||||
<string name="you_can_hide_or_mute_user_profile">Anda dapat sembunyikan atau matikan profil pengguna - tekan tahan untuk buka menu.</string>
|
||||
<string name="v4_5_reduced_battery_usage">Penggunaan baterai sedikit</string>
|
||||
<string name="migrate_from_device_migration_complete">Berhasil dipindah</string>
|
||||
<string name="icon_descr_record_voice_message">Rekam pesan suara</string>
|
||||
<string name="servers_info_subscriptions_section_header">Penerima pesan</string>
|
||||
<string name="alert_title_msg_bad_hash">Hash pesan salah</string>
|
||||
<string name="leave_chat_question">Keluar dari obrolan?</string>
|
||||
<string name="store_passphrase_securely">Harap simpan frasa sandi dengan aman, Anda TIDAK akan dapat mengubahnya jika hilang.</string>
|
||||
<string name="restore_database_alert_title">Pulihkan cadangan basis data?</string>
|
||||
<string name="share_text_moderated_at">Dimoderasi pada: %s</string>
|
||||
<string name="share_text_received_at">Diterima pada: %s</string>
|
||||
<string name="chat_archive">Atau impor berkas arsip</string>
|
||||
<string name="agent_internal_error_desc">Harap laporkan ke pengembang:\n%S</string>
|
||||
<string name="display_name__field">Nama profil:</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">Tertunda</string>
|
||||
<string name="servers_info_previously_connected_servers_section_header">Server yang terhubung sebelumnya</string>
|
||||
<string name="servers_info_proxied_servers_section_header">Server proxy</string>
|
||||
<string name="delete_messages_mark_deleted_warning">Pesan akan ditandai sebagai dihapus. Penerima tetap dapat melihat pesan tersebut.</string>
|
||||
<string name="delete_message_mark_deleted_warning">Pesan akan ditandai sebagai dihapus. Penerima tetap dapat melihat pesan ini.</string>
|
||||
<string name="sync_connection_confirm">Perbaiki</string>
|
||||
<string name="sync_connection_question">Perbaiki koneksi?</string>
|
||||
<string name="smp_servers_new_server">Server baru</string>
|
||||
<string name="message_queue_info">Info antrian pesan</string>
|
||||
<string name="settings_section_title_message_shape">Bentuk pesan</string>
|
||||
<string name="settings_section_title_private_message_routing">ROUTING PESAN PRIBADI</string>
|
||||
<string name="message_queue_info_server_info">info antrean server: %1$s\n\npesan terakhir diterima: %2$s</string>
|
||||
<string name="users_delete_data_only">Hanya data profil lokal</string>
|
||||
<string name="operator_open_changes">Buka perubahan</string>
|
||||
<string name="operator_open_conditions">Ketentuan terbuka</string>
|
||||
<string name="migrate_from_device_or_share_this_file_link">Atau bagikan tautan berkas dengan aman</string>
|
||||
<string name="paste_desktop_address">Tempel alamat desktop</string>
|
||||
<string name="users_delete_with_connections">Profil dan koneksi server</string>
|
||||
<string name="other_errors">Kesalahan lainnya</string>
|
||||
<string name="secured">Aman</string>
|
||||
<string name="send_errors">Kesalahan kirim</string>
|
||||
<string name="sent_directly">Dikirim langsung</string>
|
||||
<string name="sent_via_proxy">Dikirim via proxy</string>
|
||||
<string name="profile_update_will_be_sent_to_contacts">Pembaruan profil akan dikirim ke kontak Anda.</string>
|
||||
<string name="paste_archive_link">Tempel tautan arsip</string>
|
||||
<string name="remote_ctrl_connection_stopped_desc">Harap periksa apakah perangkat seluler dan desktop terhubung ke jaringan lokal yang sama, dan firewall desktop mengizinkan koneksi.\nHarap sampaikan masalah lain kepada pengembang.</string>
|
||||
<string name="sync_connection_desc">Koneksi memerlukan negosiasi ulang enkripsi.</string>
|
||||
<string name="encryption_renegotiation_in_progress">Negosiasi ulang enkripsi sedang berlangsung.</string>
|
||||
</resources>
|
||||
@@ -363,7 +363,7 @@
|
||||
<string name="icon_descr_audio_off">Audio spento</string>
|
||||
<string name="icon_descr_audio_on">Audio acceso</string>
|
||||
<string name="settings_audio_video_calls">Chiamate audio e video</string>
|
||||
<string name="auto_accept_images">Auto-accetta immagini</string>
|
||||
<string name="auto_accept_images">Auto-accetta le immagini</string>
|
||||
<string name="integrity_msg_bad_hash">hash del messaggio errato</string>
|
||||
<string name="integrity_msg_bad_id">ID messaggio errato</string>
|
||||
<string name="icon_descr_call_ended">Chiamata terminata</string>
|
||||
@@ -470,7 +470,7 @@
|
||||
<string name="feature_enabled_for_contact">attivato per il contatto</string>
|
||||
<string name="feature_enabled_for_you">attivato per te</string>
|
||||
<string name="group_preferences">Preferenze del gruppo</string>
|
||||
<string name="v4_2_auto_accept_contact_requests">Auto-accetta richieste di contatto</string>
|
||||
<string name="v4_2_auto_accept_contact_requests">Auto-accetta le richieste di contatto</string>
|
||||
<string name="ttl_d">%dg</string>
|
||||
<string name="ttl_day">%d giorno</string>
|
||||
<string name="ttl_days">%d giorni</string>
|
||||
@@ -538,7 +538,7 @@
|
||||
<string name="invalid_QR_code">Codice QR non valido</string>
|
||||
<string name="image_descr_link_preview">immagine di anteprima link</string>
|
||||
<string name="mark_read">Segna come già letto</string>
|
||||
<string name="mark_unread">Segna come non letto</string>
|
||||
<string name="mark_unread">Segna come non letta</string>
|
||||
<string name="icon_descr_more_button">Altro</string>
|
||||
<string name="mute_chat">Silenzia</string>
|
||||
<string name="image_descr_profile_image">immagine del profilo</string>
|
||||
@@ -704,7 +704,7 @@
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Riavvia l\'app per creare un profilo di chat nuovo.</string>
|
||||
<string name="restart_the_app_to_use_imported_chat_database">Riavvia l\'app per usare il database della chat importato.</string>
|
||||
<string name="run_chat_section">AVVIA CHAT</string>
|
||||
<string name="send_link_previews">Invia anteprime dei link</string>
|
||||
<string name="send_link_previews">Invia le anteprime dei link</string>
|
||||
<string name="set_password_to_export">Imposta la password per esportare</string>
|
||||
<string name="settings_section_title_settings">IMPOSTAZIONI</string>
|
||||
<string name="settings_section_title_socks">PROXY SOCKS</string>
|
||||
@@ -874,7 +874,6 @@
|
||||
<string name="remove_passphrase_from_keychain">Rimuovere la password dal Keystore\?</string>
|
||||
<string name="save_passphrase_in_keychain">Salva la password nel Keystore</string>
|
||||
<string name="chat_item_ttl_seconds">%s secondo/i</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Ferma la chat per attivare le azioni del database.</string>
|
||||
<string name="delete_files_and_media_desc">Questa azione non può essere annullata: tutti i file e i media ricevuti e inviati verranno eliminati. Rimarranno le immagini a bassa risoluzione.</string>
|
||||
<string name="enable_automatic_deletion_message">Questa azione non può essere annullata: i messaggi inviati e ricevuti prima di quanto selezionato verranno eliminati. Potrebbe richiedere diversi minuti.</string>
|
||||
<string name="update_database">Aggiorna</string>
|
||||
@@ -919,7 +918,7 @@
|
||||
<string name="v4_5_italian_interface_descr">Grazie agli utenti – contribuite via Weblate!</string>
|
||||
<string name="v4_4_french_interface">Interfaccia francese</string>
|
||||
<string name="v4_5_italian_interface">Interfaccia italiana</string>
|
||||
<string name="v4_5_message_draft">Bozza dei messaggi</string>
|
||||
<string name="v4_5_message_draft">Bozza del messaggio</string>
|
||||
<string name="v4_5_message_draft_descr">Conserva la bozza dell\'ultimo messaggio, con gli allegati.</string>
|
||||
<string name="v4_5_private_filenames">Nomi di file privati</string>
|
||||
<string name="v4_5_transport_isolation_descr">Per profilo di chat (predefinito) o per connessione (BETA).</string>
|
||||
@@ -1349,7 +1348,7 @@
|
||||
<string name="rcv_group_event_2_members_connected">%s e %s si sono connessi/e</string>
|
||||
<string name="rcv_group_event_n_members_connected">%s, %s e altri %d membri si sono connessi</string>
|
||||
<string name="rcv_group_event_3_members_connected">%s, %s e %s si sono connessi/e</string>
|
||||
<string name="privacy_message_draft">Bozza</string>
|
||||
<string name="privacy_message_draft">Bozza del messaggio</string>
|
||||
<string name="privacy_show_last_messages">Mostra gli ultimi messaggi</string>
|
||||
<string name="database_will_be_encrypted_and_passphrase_stored_in_settings">Il database verrà crittografato e la password conservata nelle impostazioni.</string>
|
||||
<string name="you_can_change_it_later">La password casuale viene conservata nelle impostazioni come testo normale.
|
||||
@@ -1616,8 +1615,7 @@
|
||||
<string name="snd_group_event_member_blocked">hai bloccato %s</string>
|
||||
<string name="welcome_message_is_too_long">Il messaggio di benvenuto è troppo lungo</string>
|
||||
<string name="message_too_large">Messaggio troppo grande</string>
|
||||
<string name="database_migration_in_progress">Migrazione database in corso.
|
||||
\nPuò richiedere qualche minuto.</string>
|
||||
<string name="database_migration_in_progress">Migrazione del database in corso.\nPuò richiedere qualche minuto.</string>
|
||||
<string name="call_service_notification_audio_call">Chiamata audio</string>
|
||||
<string name="call_service_notification_end_call">Termina chiamata</string>
|
||||
<string name="call_service_notification_video_call">Videochiamata</string>
|
||||
@@ -1949,8 +1947,7 @@
|
||||
<string name="appearance_font_size">Dimensione carattere</string>
|
||||
<string name="servers_info_detailed_statistics_sent_messages_total">Totale inviato</string>
|
||||
<string name="message_forwarded_title">Messaggio inoltrato</string>
|
||||
<string name="servers_info_private_data_disclaimer">Inizio da %s.
|
||||
\nTutti i dati sono privati, nel tuo dispositivo.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Partendo da %s. \nTutti i dati sono privati, nel tuo dispositivo.</string>
|
||||
<string name="message_forwarded_desc">Ancora nessuna connessione diretta, il messaggio viene inoltrato dall\'amministratore.</string>
|
||||
<string name="servers_info_proxied_servers_section_footer">Non sei connesso/a a questi server. L\'instradamento privato è usato per consegnare loro i messaggi.</string>
|
||||
<string name="xftp_servers_other">Altri server XFTP</string>
|
||||
@@ -1981,7 +1978,7 @@
|
||||
<string name="smp_proxy_error_connecting">Errore di connessione al server di inoltro %1$s. Riprova più tardi.</string>
|
||||
<string name="smp_proxy_error_broker_version">La versione server di inoltro è incompatibile con le impostazioni di rete: %1$s.</string>
|
||||
<string name="privacy_media_blur_radius_off">Off</string>
|
||||
<string name="privacy_media_blur_radius">Sfocatura file multimediali</string>
|
||||
<string name="privacy_media_blur_radius">Sfocatura dei file multimediali</string>
|
||||
<string name="privacy_media_blur_radius_soft">Leggera</string>
|
||||
<string name="privacy_media_blur_radius_medium">Media</string>
|
||||
<string name="privacy_media_blur_radius_strong">Forte</string>
|
||||
@@ -2132,18 +2129,18 @@
|
||||
<string name="for_social_media">Per i social media</string>
|
||||
<string name="or_to_share_privately">O per condividere in modo privato</string>
|
||||
<string name="onboarding_network_operators">Operatori di rete</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Quando più di un operatore di rete è attivato, l\'app userà i server di diversi operatori per ogni conversazione.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">L\'app protegge la tua privacy usando diversi operatori per ogni conversazione.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Puoi configurare gli operatori nelle impostazioni di rete e server.</string>
|
||||
<string name="onboarding_choose_server_operators">Operatori del server</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Seleziona gli operatori di rete da usare.</string>
|
||||
<string name="onboarding_network_operators_continue">Continua</string>
|
||||
<string name="onboarding_network_operators_update">Aggiorna</string>
|
||||
<string name="onboarding_network_operators_review_later">Esamina più tardi</string>
|
||||
<string name="onboarding_network_operators_review_later">Leggi più tardi</string>
|
||||
<string name="network_preset_servers_title">Server preimpostati</string>
|
||||
<string name="operator_conditions_accepted">Condizioni accettate</string>
|
||||
<string name="operator_conditions_accepted_for_enabled_operators_on">Le condizioni verranno accettate automaticamente per gli operatori attivati il: %s.</string>
|
||||
<string name="your_servers">I tuoi server</string>
|
||||
<string name="operator_review_conditions">Esamina le condizioni</string>
|
||||
<string name="operator_review_conditions">Leggi le condizioni</string>
|
||||
<string name="operators_conditions_accepted_for"><![CDATA[Condizioni accettate per gli operatori: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[Condizioni già accettate per i seguenti operatori: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_failed_to_load">Il testo delle condizioni attuali testo non è stato caricato, puoi consultare le condizioni tramite questo link:</string>
|
||||
@@ -2193,13 +2190,13 @@
|
||||
<string name="error_accepting_operator_conditions">Errore di accettazione delle condizioni</string>
|
||||
<string name="failed_to_save_servers">Errore di salvataggio dei server</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux_reason">per una migliore privacy dei metadati.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Ad esempio, se ricevi messaggi tramite il server di SimpleX Chat, l\'app userà uno dei server Flux per l\'instradamento privato.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Ad esempio, se il tuo contatto riceve i messaggi tramite un server di SimpleX Chat, la tua app li consegnerà tramite un server di Flux.</string>
|
||||
<string name="v6_2_improved_chat_navigation">Navigazione della chat migliorata</string>
|
||||
<string name="smp_servers_new_server">Nuovo server</string>
|
||||
<string name="operator_use_for_files">Usa per i file</string>
|
||||
<string name="simplex_address_or_1_time_link">Indirizzo SimpleX o link una tantum?</string>
|
||||
<string name="message_deleted_or_not_received_error_desc">Questo messaggio è stato eliminato o non ancora ricevuto.</string>
|
||||
<string name="address_creation_instruction">Tocca \"Crea indirizzo SimpleX\" nel menu per crearlo più tardi.</string>
|
||||
<string name="address_creation_instruction">Tocca Crea indirizzo SimpleX nel menu per crearlo più tardi.</string>
|
||||
<string name="connection_error_quota_desc">La connessione ha raggiunto il limite di messaggi non consegnati, il contatto potrebbe essere offline.</string>
|
||||
<string name="operator_use_operator_toggle_description">Usa i server</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">Puoi configurare i server nelle impostazioni.</string>
|
||||
@@ -2209,7 +2206,7 @@
|
||||
<string name="no_media_servers_configured_for_sending">Nessun server per inviare file.</string>
|
||||
<string name="v6_2_improved_chat_navigation_descr">- Apri la chat sul primo messaggio non letto.\n- Salta ai messaggi citati.</string>
|
||||
<string name="share_address_publicly">Condividi indirizzo pubblicamente</string>
|
||||
<string name="share_simplex_address_on_social_media">Condividi indirizzo SimpleX sui social media.</string>
|
||||
<string name="share_simplex_address_on_social_media">Condividi l\'indirizzo SimpleX sui social media.</string>
|
||||
<string name="chat_archive">O importa file archivio</string>
|
||||
<string name="remote_hosts_section">Telefoni remoti</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">I messaggi diretti tra i membri sono vietati in questa chat.</string>
|
||||
@@ -2247,4 +2244,13 @@
|
||||
<string name="member_role_will_be_changed_with_notification_chat">Il ruolo verrà cambiato in %s. Verrà notificato a tutti nella chat.</string>
|
||||
<string name="chat_main_profile_sent">Il tuo profilo di chat verrà inviato ai membri della chat</string>
|
||||
<string name="you_will_stop_receiving_messages_from_this_chat_chat_history_will_be_preserved">Non riceverai più messaggi da questa chat. La cronologia della chat verrà conservata.</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Quando più di un operatore è attivato, nessuno di essi ha metadati per capire chi comunica con chi.</string>
|
||||
<string name="display_name_accepted_invitation">invito accettato</string>
|
||||
<string name="display_name_requested_to_connect">richiesto di connettersi</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat e Flux hanno concluso un accordo per includere server gestiti da Flux nell\'app.</string>
|
||||
<string name="onboarding_network_about_operators">Info sugli operatori</string>
|
||||
<string name="sync_connection_desc">La connessione richiede la rinegoziazione della crittografia.</string>
|
||||
<string name="sync_connection_confirm">Correggi</string>
|
||||
<string name="sync_connection_question">Correggere la connessione?</string>
|
||||
<string name="encryption_renegotiation_in_progress">Rinegoziazione della crittografia in corso.</string>
|
||||
</resources>
|
||||
@@ -981,7 +981,6 @@
|
||||
<string name="stop_chat_question">לעצור צ׳אט\?</string>
|
||||
<string name="stop_chat_to_export_import_or_delete_chat_database">עיצרו את הצ׳אט כדי לייצא, לייבא או למחוק את מסד הנתונים. לא תוכלו לקבל ולשלוח הודעות בזמן שהצ׳אט מופסק.</string>
|
||||
<string name="stop_chat_confirmation">עצור</string>
|
||||
<string name="stop_chat_to_enable_database_actions">עיצרו את הצ׳אט כדי לאפשר פעולות מסד נתונים.</string>
|
||||
<string name="skip_inviting_button">דלג על הזמנת חברים</string>
|
||||
<string name="share_address">שתף כתובת</string>
|
||||
<string name="theme_simplex">SimpleX</string>
|
||||
|
||||
@@ -662,7 +662,6 @@
|
||||
<string name="icon_descr_speaker_off">スピーカーオフ</string>
|
||||
<string name="your_chat_database">あなたのチャットデータベース</string>
|
||||
<string name="stop_chat_confirmation">停止</string>
|
||||
<string name="stop_chat_to_enable_database_actions">データベース操作をするにはチャットを停止する必要があります。</string>
|
||||
<string name="simplex_link_contact">SimpleX連絡先アドレス</string>
|
||||
<string name="simplex_link_invitation">SimpleX使い捨て招待リンク</string>
|
||||
<string name="description_via_contact_address_link">連絡先アドレスリンク経由</string>
|
||||
|
||||
@@ -851,7 +851,6 @@
|
||||
<string name="submit_passcode">제출하기</string>
|
||||
<string name="store_passphrase_securely_without_recover">암호를 모르면 채팅에 액세스할 수 없으니 암호를 안전하게 보관해 주세요.</string>
|
||||
<string name="stop_chat_question">채팅 기능을 중지할까요\?</string>
|
||||
<string name="stop_chat_to_enable_database_actions">데이터베이스 작업을 할 수 있도록 채팅 기능을 중지하기</string>
|
||||
<string name="switch_receiving_address">수신 주소 바꾸기</string>
|
||||
<string name="decryption_error">복호화 오류</string>
|
||||
<string name="confirm_passcode">패스코드 확인</string>
|
||||
|
||||
@@ -1219,7 +1219,6 @@
|
||||
<string name="set_database_passphrase">Nustatyti duomenų slaptafrazę</string>
|
||||
<string name="set_passphrase">Nustatyti slaptafrazę</string>
|
||||
<string name="privacy_show_last_messages">Rodyti paskutines žinutes</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Sustabdykite pokalbius, kad įgalinti duomenų bazės veiksmus.</string>
|
||||
<string name="settings_section_title_support">PALAIKYKITE SIMPLEX CHAT</string>
|
||||
<string name="receipts_section_description_1">Jų galima nepaisyti kontaktų ir grupių nustatymuose.</string>
|
||||
<string name="enable_automatic_deletion_message">Šis veiksmas negali būti atšauktas - žinutės išsiųstos ir gautos anksčiau nei pasirinkta bus ištrintos. Tai gali užtrukti kelias minutes.</string>
|
||||
|
||||
@@ -740,7 +740,6 @@
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Start de app opnieuw om een nieuw chatprofiel aan te maken.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">U mag ALLEEN de meest recente versie van uw chat-database op één apparaat gebruiken, anders ontvangt u mogelijk geen berichten meer van sommige contacten.</string>
|
||||
<string name="restart_the_app_to_use_imported_chat_database">Start de app opnieuw om de geïmporteerde chat database te gebruiken.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Stop de chat om database acties mogelijk te maken.</string>
|
||||
<string name="delete_files_and_media_desc">Deze actie kan niet ongedaan worden gemaakt, alle ontvangen en verzonden bestanden en media worden verwijderd. Foto\'s met een lage resolutie blijven behouden.</string>
|
||||
<string name="remove_passphrase_from_keychain">Wachtwoord verwijderen uit Keychain\?</string>
|
||||
<string name="remove_passphrase">Verwijderen</string>
|
||||
@@ -1873,8 +1872,7 @@
|
||||
<string name="servers_info_details">Details</string>
|
||||
<string name="servers_info_messages_received">Berichten ontvangen</string>
|
||||
<string name="servers_info_subscriptions_section_header">Bericht ontvangst</string>
|
||||
<string name="servers_info_private_data_disclaimer">Beginnend vanaf %s.
|
||||
\nAlle gegevens zijn privé op uw apparaat.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Beginnend vanaf %s. \nAlle gegevens zijn privé op uw apparaat.</string>
|
||||
<string name="servers_info_connected_servers_section_header">Verbonden servers</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">In behandeling</string>
|
||||
<string name="servers_info_previously_connected_servers_section_header">Eerder verbonden servers</string>
|
||||
@@ -2148,7 +2146,7 @@
|
||||
<string name="onboarding_network_operators_review_later">Later beoordelen</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Selecteer welke netwerkoperators u wilt gebruiken.</string>
|
||||
<string name="onboarding_network_operators_update">Update</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">Wanneer er meer dan één netwerkoperator is ingeschakeld, gebruikt de app voor elk gesprek de servers van verschillende operators.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">De app beschermt uw privacy door in elk gesprek verschillende operators te gebruiken.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">U kunt operators configureren in Netwerk- en serverinstellingen.</string>
|
||||
<string name="onboarding_network_operators_continue">Doorgaan</string>
|
||||
<string name="operator_review_conditions">Voorwaarden bekijken</string>
|
||||
@@ -2184,7 +2182,7 @@
|
||||
<string name="v6_2_improved_chat_navigation">Verbeterde chatnavigatie</string>
|
||||
<string name="v6_2_network_decentralization">Netwerk decentralisatie</string>
|
||||
<string name="v6_2_network_decentralization_descr">De tweede vooraf ingestelde operator in de app!</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Als u bijvoorbeeld berichten ontvangt via de SimpleX Chat-server, gebruikt de app een van de Flux-servers voor privéroutering.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Als uw contactpersoon bijvoorbeeld berichten ontvangt via een SimpleX Chat-server, worden deze door uw app via een Flux-server verzonden.</string>
|
||||
<string name="v6_2_network_decentralization_enable_flux">Flux inschakelen</string>
|
||||
<string name="message_deleted_or_not_received_error_title">Geen bericht</string>
|
||||
<string name="appearance_app_toolbars">App-werkbalken</string>
|
||||
@@ -2243,4 +2241,9 @@
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Geen achtergrondservice</string>
|
||||
<string name="only_chat_owners_can_change_prefs">Alleen chateigenaren kunnen voorkeuren wijzigen.</string>
|
||||
<string name="maximum_message_size_reached_non_text">Verklein de berichtgrootte of verwijder de media en verzend het bericht opnieuw.</string>
|
||||
<string name="display_name_accepted_invitation">geaccepteerde uitnodiging</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Wanneer er meer dan één operator is ingeschakeld, beschikt geen enkele operator over metagegevens om te achterhalen wie met wie communiceert.</string>
|
||||
<string name="display_name_requested_to_connect">gevraagd om verbinding te maken</string>
|
||||
<string name="onboarding_network_about_operators">Over operatoren</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">Simplex-chat en flux hebben een overeenkomst gemaakt om door flux geëxploiteerde servers in de app op te nemen.</string>
|
||||
</resources>
|
||||
@@ -562,7 +562,6 @@
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Uruchom ponownie aplikację, aby utworzyć nowy profil czatu.</string>
|
||||
<string name="save_passphrase_in_keychain">Zapisz hasło w Keystore</string>
|
||||
<string name="chat_item_ttl_seconds">%s sekund(y)</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Zatrzymaj czat, aby umożliwić działania na bazie danych.</string>
|
||||
<string name="enable_automatic_deletion_message">Tego działania nie można cofnąć - wiadomości wysłane i odebrane wcześniej niż wybrane zostaną usunięte. Może to potrwać kilka minut.</string>
|
||||
<string name="delete_chat_profile_action_cannot_be_undone_warning">Tego działania nie można cofnąć - Twój profil, kontakty, wiadomości i pliki zostaną nieodwracalnie utracone.</string>
|
||||
<string name="messages_section_description">To ustawienie dotyczy wiadomości Twojego bieżącego profilu czatu</string>
|
||||
@@ -1933,8 +1932,7 @@
|
||||
<string name="servers_info_target">Wyświetlanie informacji dla</string>
|
||||
<string name="servers_info_statistics_section_header">Statystyki</string>
|
||||
<string name="servers_info_transport_sessions_section_header">Sesje transportowe</string>
|
||||
<string name="servers_info_private_data_disclaimer">Zaczynanie od %s.
|
||||
\nWszystkie dane są prywatne na Twoim urządzeniu.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Zaczynanie od %s. \nWszystkie dane są prywatne na Twoim urządzeniu.</string>
|
||||
<string name="servers_info_reconnect_all_servers_button">Połącz ponownie wszystkie serwery</string>
|
||||
<string name="servers_info_reconnect_server_title">Połączyć ponownie serwer?</string>
|
||||
<string name="servers_info_proxied_servers_section_footer">Nie jesteś połączony z tymi serwerami. Prywatne trasowanie jest używane do dostarczania do nich wiadomości.</string>
|
||||
|
||||
@@ -853,7 +853,6 @@
|
||||
<string name="settings_section_title_socks">PROXY SOCKS</string>
|
||||
<string name="database_backup_can_be_restored">A tentativa de alterar a senha do banco de dados não foi concluída.</string>
|
||||
<string name="stop_chat_to_export_import_or_delete_chat_database">Pare o bate-papo para exportar, importar ou excluir o banco de dados do chat. Você não poderá receber e enviar mensagens enquanto o chat estiver interrompido.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Pare o bate-papo para ativar ações no banco de dados.</string>
|
||||
<string name="chat_item_ttl_seconds">%s segundo(s)</string>
|
||||
<string name="unknown_database_error_with_info">Erro de banco de dados desconhecido: %s</string>
|
||||
<string name="unknown_error">Erro desconhecido</string>
|
||||
@@ -1983,8 +1982,7 @@
|
||||
<string name="servers_info_transport_sessions_section_header">Sessões de transporte</string>
|
||||
<string name="servers_info_subscriptions_section_header">Recepção de mensagem</string>
|
||||
<string name="servers_info_subscriptions_connections_pending">Pendente</string>
|
||||
<string name="servers_info_private_data_disclaimer">Começando de %s.
|
||||
\nTodos os dados são privados do seu dispositivo.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Começando de %s. \nTodos os dados são privados do seu dispositivo.</string>
|
||||
<string name="servers_info_subscriptions_total">Total</string>
|
||||
<string name="servers_info_proxied_servers_section_header">Servidores proxiados</string>
|
||||
<string name="servers_info_previously_connected_servers_section_header">Servidores conectados anteriormente</string>
|
||||
|
||||
@@ -760,7 +760,6 @@
|
||||
<string name="group_members_n">%s, %s e %d membros</string>
|
||||
<string name="add_contact_or_create_group">Iniciar nova conversa</string>
|
||||
<string name="la_mode_system">Sistema</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Parar conversa para habilitar ações do banco de dados</string>
|
||||
<string name="group_invitation_tap_to_join">Toque para participar</string>
|
||||
<string name="rcv_group_event_3_members_connected">%s, %s e %s conectado</string>
|
||||
<string name="network_option_tcp_connection_timeout">Tempo esgotado da conexão TCP</string>
|
||||
|
||||
@@ -600,7 +600,6 @@
|
||||
<string name="chat_database_deleted">Данные чата удалены</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Перезапустите приложение, чтобы создать новый профиль.</string>
|
||||
<string name="you_must_use_the_most_recent_version_of_database">Используйте самую последнюю версию архива чата и ТОЛЬКО на одном устройстве, иначе Вы можете перестать получать сообщения от некоторых контактов.</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Остановите чат, чтобы разблокировать операции с архивом чата.</string>
|
||||
<string name="delete_files_and_media_for_all_users">Удалить файлы во всех профилях чата</string>
|
||||
<string name="delete_files_and_media_all">Удалить все файлы</string>
|
||||
<string name="delete_files_and_media_question">Удалить файлы и медиа?</string>
|
||||
@@ -1883,8 +1882,7 @@
|
||||
<string name="message_queue_info">Информация об очереди сообщений</string>
|
||||
<string name="v5_8_persian_ui">Персидский интерфейс</string>
|
||||
<string name="protect_ip_address">Защитить IP адрес</string>
|
||||
<string name="v5_8_private_routing_descr">Защитите ваш IP адрес от серверов сообщений, выбранных Вашими контактами.
|
||||
\nВключите в настройках Сеть и серверы.</string>
|
||||
<string name="v5_8_private_routing_descr">Защитите ваш IP адрес от серверов сообщений, выбранных Вашими контактами. \nВключите в настройках Сети и серверов.</string>
|
||||
<string name="network_smp_proxy_fallback_allow_description">Отправьте сообщения напрямую, когда Ваш сервер или сервер получателя не поддерживает конфиденциальную доставку.</string>
|
||||
<string name="network_smp_proxy_mode_private_routing">Конфиденциальная доставка</string>
|
||||
<string name="network_smp_proxy_mode_unknown_description">Использовать конфиденциальную доставку с неизвестными серверами.</string>
|
||||
@@ -2029,8 +2027,7 @@
|
||||
<string name="servers_info_connected_servers_section_header">Подключенные серверы</string>
|
||||
<string name="servers_info_previously_connected_servers_section_header">Ранее подключенные серверы</string>
|
||||
<string name="servers_info_proxied_servers_section_header">Проксированные серверы</string>
|
||||
<string name="servers_info_private_data_disclaimer">Начиная с %s.
|
||||
\nВсе данные хранятся только на вашем устройстве.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Начиная с %s. \nВсе данные хранятся только на вашем устройстве.</string>
|
||||
<string name="servers_info_reconnect_server_message">Переподключить сервер для устранения неполадок доставки сообщений. Это использует дополнительный трафик.</string>
|
||||
<string name="servers_info_modal_error_title">Ошибка</string>
|
||||
<string name="servers_info_reconnect_server_error">Ошибка переподключения к серверу</string>
|
||||
@@ -2266,7 +2263,7 @@
|
||||
<string name="how_it_helps_privacy">Как это улучшает конфиденциальность</string>
|
||||
<string name="onboarding_network_operators">Операторы серверов</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Выберите операторов сети.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Вы можете настроить операторов в настройках Сеть и серверы.</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Вы можете настроить операторов в настройках Сети и серверов.</string>
|
||||
<string name="onboarding_network_operators_continue">Продолжить</string>
|
||||
<string name="onboarding_network_operators_review_later">Посмотреть позже</string>
|
||||
<string name="onboarding_network_operators_update">Обновить</string>
|
||||
@@ -2306,7 +2303,7 @@
|
||||
<string name="error_updating_server_title">Ошибка сохранения сервера</string>
|
||||
<string name="operator_use_for_messages_private_routing">Для доставки сообщений</string>
|
||||
<string name="operator_open_changes">Открыть изменения</string>
|
||||
<string name="error_server_operator_changed">Оператор серверов изменен.</string>
|
||||
<string name="error_server_operator_changed">Оператор сервера изменен.</string>
|
||||
<string name="error_server_protocol_changed">Протокол сервера изменен.</string>
|
||||
<string name="xftp_servers_per_user">Серверы для новых файлов Вашего текущего профиля</string>
|
||||
<string name="operator_use_for_messages_receiving">Для получения</string>
|
||||
@@ -2321,6 +2318,7 @@
|
||||
<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="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_cant_see_who_talks_to_whom">Когда больше чем один оператор включен, ни один из них не видит метаданные, чтобы определить, кто соединен с кем.</string>
|
||||
<string name="failed_to_save_servers">Ошибка сохранения серверов</string>
|
||||
|
||||
@@ -937,7 +937,6 @@
|
||||
<string name="star_on_github">ติดดาวบน GitHub</string>
|
||||
<string name="switch_verb">เปลี่ยน</string>
|
||||
<string name="callstate_starting">กำลังเริ่มต้น…</string>
|
||||
<string name="stop_chat_to_enable_database_actions">หยุดการแชทเพื่อเปิดใช้งานการดำเนินการกับฐานข้อมูล</string>
|
||||
<string name="stop_chat_to_export_import_or_delete_chat_database">หยุดแชทเพื่อส่งออก นำเข้า หรือลบฐานข้อมูลแชท คุณจะไม่สามารถรับและส่งข้อความได้ในขณะที่การแชทหยุดลง</string>
|
||||
<string name="v4_6_audio_video_calls_descr">รองรับบลูทูธและการปรับปรุงอื่นๆ</string>
|
||||
<string name="stop_sharing_address">หยุดแชร์ที่อยู่ไหม\?</string>
|
||||
|
||||
@@ -1034,7 +1034,6 @@
|
||||
<string name="stop_file__action">Dosyayı durdur</string>
|
||||
<string name="error_alert_title">Hata</string>
|
||||
<string name="create_another_profile_button">ProfilProfil oluştur</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Veri tabanı eylemlerini etkinleştirmek için sohbeti durdur.</string>
|
||||
<string name="stop_snd_file__title">Dosya göndermeyi durdur?</string>
|
||||
<string name="auth_stop_chat">Sohbeti durdur</string>
|
||||
<string name="connect_use_current_profile">Mevcut profili kullan</string>
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
<string name="ok">OK</string>
|
||||
<string name="copied">Скопійовано в буфер обміну</string>
|
||||
<string name="to_connect_via_link_title">Для підключення через посилання</string>
|
||||
<string name="mobile_tap_open_in_mobile_app_then_tap_connect_in_app"><![CDATA[📱 мобільний телефон: натисніть <b>Відкрити у мобільному додатку</b>, а потім торкніться <b>Підключити</b> в додатку.]]></string>
|
||||
<string name="mobile_tap_open_in_mobile_app_then_tap_connect_in_app"><![CDATA[📱 мобільний: натисніть <b>Відкрити у мобільному додатку</b>, а потім торкніться <b>Підключити</b> в додатку.]]></string>
|
||||
<string name="mute_chat">Приглушити</string>
|
||||
<string name="unmute_chat">Скасувати приглушення</string>
|
||||
<string name="you_invited_a_contact">Ви запросили контакт</string>
|
||||
@@ -233,7 +233,7 @@
|
||||
<string name="one_time_link">Одноразове запрошення</string>
|
||||
<string name="incorrect_code">Невірний код безпеки!</string>
|
||||
<string name="to_verify_compare">Для перевірки end-to-end шифрування порівняйте (або скануйте) код на своїх пристроях.</string>
|
||||
<string name="your_settings">Ваші налаштування</string>
|
||||
<string name="your_settings">Налаштування</string>
|
||||
<string name="your_simplex_contact_address">Ваша SimpleX-адреса</string>
|
||||
<string name="markdown_help">Допомога з Markdown</string>
|
||||
<string name="chat_lock">Блокування SimpleX</string>
|
||||
@@ -268,7 +268,7 @@
|
||||
<string name="first_platform_without_user_ids">Ніяких ідентифікаторів користувачів.</string>
|
||||
<string name="decentralized">Децентралізована</string>
|
||||
<string name="use_chat">Використовувати чат</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Це можна змінити пізніше в налаштуваннях.</string>
|
||||
<string name="onboarding_notifications_mode_subtitle">Як це впливає на батарею</string>
|
||||
<string name="onboarding_notifications_mode_service">Миттєво</string>
|
||||
<string name="call_already_ended">Виклик вже завершено!</string>
|
||||
<string name="your_calls">Ваші виклики</string>
|
||||
@@ -496,7 +496,7 @@
|
||||
<string name="only_your_contact_can_send_voice">Тільки ваш контакт може надсилати голосові повідомлення.</string>
|
||||
<string name="prohibit_sending_disappearing">Забороняйте надсилання повідомлень, які зникають.</string>
|
||||
<string name="prohibit_message_deletion">Забороняйте невідворотне видалення повідомлень.</string>
|
||||
<string name="group_members_can_send_voice">Учасники групи можуть надсилати голосові повідомлення.</string>
|
||||
<string name="group_members_can_send_voice">Учасники можуть надсилати голосові повідомлення.</string>
|
||||
<string name="ttl_m">%dm</string>
|
||||
<string name="new_in_version">Нове в %s</string>
|
||||
<string name="v5_1_self_destruct_passcode">Самознищуючий пароль</string>
|
||||
@@ -544,7 +544,7 @@
|
||||
<string name="smp_server_test_create_file">Створити файл</string>
|
||||
<string name="error_deleting_user">Помилка видалення користувача</string>
|
||||
<string name="error_updating_user_privacy">Помилка оновлення конфіденційності користувача</string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Для збереження вашої конфіденційності, замість торкання сповіщень, програма використовує <b>фоновий сервіс SimpleX</b> – він використовує кілька відсотків батареї щодня.]]></string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Для покращення конфіденційності, <b>SimpleX працює у фоновому режимі</b> замість використання пуш-повідомлень.]]></string>
|
||||
<string name="periodic_notifications">Періодичні сповіщення</string>
|
||||
<string name="simplex_service_notification_title">Служба чату SimpleX</string>
|
||||
<string name="notifications_mode_periodic_desc">Перевіряє нові повідомлення кожні 10 хвилин протягом 1 хвилини</string>
|
||||
@@ -649,7 +649,7 @@
|
||||
<string name="you_can_use_markdown_to_format_messages__prompt">Ви можете використовувати markdown для форматування повідомлень:</string>
|
||||
<string name="create_your_profile">Створіть свій профіль</string>
|
||||
<string name="make_private_connection">Створіть приватне підключення</string>
|
||||
<string name="only_client_devices_store_contacts_groups_e2e_encrypted_messages"><![CDATA[Тільки пристрої клієнта зберігають профілі користувачів, контакти, групи та повідомлення, відправлені за допомогою <b>шифрування на двох рівнях</b>.]]></string>
|
||||
<string name="only_client_devices_store_contacts_groups_e2e_encrypted_messages">Тільки клієнтські пристрої зберігають профілі, контакти, групи та повідомлення.</string>
|
||||
<string name="onboarding_notifications_mode_title">Приватні сповіщення</string>
|
||||
<string name="onboarding_notifications_mode_service_desc"><![CDATA[<b>Споживає більше акумулятора</b>! Додаток завжди працює у фоновому режимі – сповіщення відображаються миттєво.]]></string>
|
||||
<string name="paste_the_link_you_received">Вставте отримане посилання</string>
|
||||
@@ -746,14 +746,14 @@
|
||||
<string name="only_you_can_send_voice">Тільки ви можете надсилати голосові повідомлення.</string>
|
||||
<string name="only_you_can_add_message_reactions">Тільки ви можете додавати реакції на повідомлення.</string>
|
||||
<string name="prohibit_message_reactions_group">Заборонити реакції на повідомлення.</string>
|
||||
<string name="disappearing_messages_are_prohibited">Самознищувальні повідомлення заборонені в цій групі.</string>
|
||||
<string name="group_members_can_send_dms">Учасники групи можуть надсилати приватні повідомлення.</string>
|
||||
<string name="disappearing_messages_are_prohibited">Повідомлення, що зникають, заборонені.</string>
|
||||
<string name="group_members_can_send_dms">Учасники можуть надсилати прямі повідомлення.</string>
|
||||
<string name="direct_messages_are_prohibited_in_group">Приватні повідомлення між учасниками заборонені в цій групі.</string>
|
||||
<string name="group_members_can_delete">Учасники групи можуть назавжди видаляти відправлені повідомлення. (24 години)</string>
|
||||
<string name="message_deletion_prohibited_in_chat">Назавжди видалення повідомлень заборонене в цій групі.</string>
|
||||
<string name="voice_messages_are_prohibited">Голосові повідомлення заборонені в цій групі.</string>
|
||||
<string name="group_members_can_add_message_reactions">Учасники групи можуть додавати реакції на повідомлення.</string>
|
||||
<string name="message_reactions_are_prohibited">Реакції на повідомлення заборонені в цій групі.</string>
|
||||
<string name="group_members_can_delete">Учасники можуть необоротно видаляти надіслані повідомлення (протягом 24 годин).</string>
|
||||
<string name="message_deletion_prohibited_in_chat">Заборонено необоротне видалення повідомлень.</string>
|
||||
<string name="voice_messages_are_prohibited">Голосові повідомлення заборонені</string>
|
||||
<string name="group_members_can_add_message_reactions">Учасники можуть додавати реакції на повідомлення.</string>
|
||||
<string name="message_reactions_are_prohibited">Реакції на повідомлення заборонені.</string>
|
||||
<string name="ttl_hour">%d година</string>
|
||||
<string name="ttl_week">%d тиждень</string>
|
||||
<string name="ttl_weeks">%d тижні</string>
|
||||
@@ -805,7 +805,7 @@
|
||||
<string name="smp_server_test_secure_queue">Безпечна черга</string>
|
||||
<string name="smp_server_test_delete_queue">Видалити чергу</string>
|
||||
<string name="please_check_correct_link_and_maybe_ask_for_a_new_one">Будь ласка, перевірте, що ви використали правильне посилання або попросіть вашого контакту вислати інше.</string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[Щоб його використовувати, будь ласка, <b>дозвольте SimpleX працювати в фоновому режимі</b> в наступному діалозі. В іншому випадку сповіщення будуть вимкнені.]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[<b>Дозвольте це</b> в наступному діалозі, щоб отримувати сповіщення миттєво.]]></string>
|
||||
<string name="icon_descr_instant_notifications">Миттєві сповіщення</string>
|
||||
<string name="notification_preview_somebody">Контакт прихований:</string>
|
||||
<string name="notification_preview_new_message">нове повідомлення</string>
|
||||
@@ -892,14 +892,13 @@
|
||||
<string name="v4_6_chinese_spanish_interface_descr">Дякуємо користувачам – приєднуйтеся через Weblate!</string>
|
||||
<string name="la_lock_mode">Режим блокування SimpleX</string>
|
||||
<string name="la_lock_mode_system">Системна аутентифікація</string>
|
||||
<string name="to_protect_privacy_simplex_has_ids_for_queues">Для захисту приватності, замість ідентифікаторів користувачів, які використовуються всіма іншими платформами, у SimpleX є ідентифікатори черг повідомлень, окремі для кожного з ваших контактів.</string>
|
||||
<string name="to_protect_privacy_simplex_has_ids_for_queues">Для захисту вашої конфіденційності SimpleX використовує окремі ID для кожного вашого контакту.</string>
|
||||
<string name="onboarding_notifications_mode_off">Коли додаток запущено</string>
|
||||
<string name="onboarding_notifications_mode_periodic">Періодично</string>
|
||||
<string name="status_contact_has_no_e2e_encryption">контакт не має зашифрування e2e</string>
|
||||
<string name="enable_lock">Увімкнути блокування</string>
|
||||
<string name="passcode_not_changed">Пароль не змінено!</string>
|
||||
<string name="change_lock_mode">Змінити режим блокування</string>
|
||||
<string name="stop_chat_to_enable_database_actions">Зупиніть чат, щоб увімкнути дії з базою даних.</string>
|
||||
<string name="restart_the_app_to_create_a_new_chat_profile">Перезапустіть додаток, щоб створити новий профіль чату.</string>
|
||||
<string name="delete_files_and_media_for_all_users">Видалити файли для всіх профілів чату</string>
|
||||
<string name="delete_files_and_media_question">Видалити файли та медіа?</string>
|
||||
@@ -920,7 +919,7 @@
|
||||
<string name="snd_group_event_member_deleted">ви видалили %1$s</string>
|
||||
<string name="tap_to_activate_profile">Торкніться для активації профілю.</string>
|
||||
<string name="prohibit_sending_voice">Забороняйте надсилання голосових повідомлень.</string>
|
||||
<string name="group_members_can_send_disappearing">Учасники групи можуть надсилати самознищувальні повідомлення.</string>
|
||||
<string name="group_members_can_send_disappearing">Учасники можуть надсилати повідомлення, що зникають.</string>
|
||||
<string name="ttl_min">%d хв</string>
|
||||
<string name="v4_5_reduced_battery_usage">Зменшене споживання енергії батареї</string>
|
||||
<string name="edit_image">Редагувати зображення</string>
|
||||
@@ -1013,7 +1012,7 @@
|
||||
<string name="clear_verification">Очистити перевірку</string>
|
||||
<string name="is_verified">%s перевірено</string>
|
||||
<string name="is_not_verified">%s не перевірено</string>
|
||||
<string name="send_us_an_email">Надішліть нам електронного листа</string>
|
||||
<string name="send_us_an_email">Написати нам ел. листа</string>
|
||||
<string name="smp_servers_test_server">Тестовий сервер</string>
|
||||
<string name="smp_save_servers_question">Зберегти сервери\?</string>
|
||||
<string name="your_ICE_servers">Ваші сервери ICE</string>
|
||||
@@ -1090,7 +1089,7 @@
|
||||
<string name="chat_preferences_no">ні</string>
|
||||
<string name="chat_preferences_off">вимк</string>
|
||||
<string name="set_group_preferences">Встановити налаштування групи</string>
|
||||
<string name="your_preferences">Ваші налаштування</string>
|
||||
<string name="your_preferences">Налаштування</string>
|
||||
<string name="direct_messages">Прямі повідомлення</string>
|
||||
<string name="icon_descr_server_status_error">Помилка</string>
|
||||
<string name="add_contact">Одноразове запрошення</string>
|
||||
@@ -1162,7 +1161,7 @@
|
||||
<string name="colored_text">кольоровий</string>
|
||||
<string name="callstatus_ended">дзвінок завершено %1$s</string>
|
||||
<string name="callstatus_error">помилка дзвінка</string>
|
||||
<string name="next_generation_of_private_messaging">Наступне покоління \nприватних повідомлень</string>
|
||||
<string name="next_generation_of_private_messaging">Майбутнє обміну повідомленнями</string>
|
||||
<string name="opensource_protocol_and_code_anybody_can_run_servers">Кожен може хостити сервери.</string>
|
||||
<string name="settings_developer_tools">Інструменти розробника</string>
|
||||
<string name="settings_experimental_features">Експериментальні функції</string>
|
||||
@@ -1179,7 +1178,7 @@
|
||||
<string name="to_share_with_your_contact">(щоб поділитися з вашим контактом)</string>
|
||||
<string name="connect_via_link_or_qr_from_clipboard_or_in_person">(сканувати або вставити з буферу обміну)</string>
|
||||
<string name="you_can_connect_to_simplex_chat_founder"><![CDATA[Ви можете <font color="#0088ff">підключитися до розробників SimpleX Chat, щоб задати будь-які питання і отримувати оновлення</font>.]]></string>
|
||||
<string name="desktop_scan_QR_code_from_app_via_scan_QR_code"><![CDATA[💻 настільний комп\'ютер: скануйте відображений QR-код з додатка за допомогою <b>Сканувати QR-код</b>.]]></string>
|
||||
<string name="desktop_scan_QR_code_from_app_via_scan_QR_code"><![CDATA[💻 на комп\'ютері: скануйте відображений QR-код з додатка за допомогою <b>Сканувати QR-код</b>.]]></string>
|
||||
<string name="icon_descr_address">Адреса SimpleX</string>
|
||||
<string name="show_QR_code">Показати QR-код</string>
|
||||
<string name="joining_group">Приєднання до групи</string>
|
||||
@@ -1250,7 +1249,7 @@
|
||||
<string name="error_aborting_address_change">Помилка відміни зміни адреси</string>
|
||||
<string name="abort_switch_receiving_address">Перервати зміну адреси</string>
|
||||
<string name="allow_to_send_files">Дозволити надсилання файлів та медіафайлів.</string>
|
||||
<string name="files_are_prohibited_in_group">Файли та медіафайли заборонені в цій групі.</string>
|
||||
<string name="files_are_prohibited_in_group">Файли та медіа заборонені.</string>
|
||||
<string name="connect_via_link_incognito">Підключити інкогніто</string>
|
||||
<string name="connect_use_current_profile">Використовувати поточний профіль</string>
|
||||
<string name="turn_off_battery_optimization_button">Дозволити</string>
|
||||
@@ -1348,7 +1347,7 @@
|
||||
<string name="abort_switch_receiving_address_desc">Зміна адреси буде скасована. Буде використовуватися стара адреса для отримання.</string>
|
||||
<string name="sync_connection_force_question">Повторно узгодити шифрування?</string>
|
||||
<string name="sync_connection_force_desc">Шифрування працює і нова угода про шифрування не потрібна. Це може призвести до помилок підключення!</string>
|
||||
<string name="group_members_can_send_files">Учасники групи можуть надсилати файли та медіафайли.</string>
|
||||
<string name="group_members_can_send_files">Учасники можуть надсилати файли та медіа.</string>
|
||||
<string name="database_will_be_encrypted_and_passphrase_stored_in_settings">База даних буде зашифрована, і ключова фраза буде збережена в налаштуваннях.</string>
|
||||
<string name="expand_verb">Розгорнути</string>
|
||||
<string name="connect_plan_repeat_connection_request">Повторити запит на підключення?</string>
|
||||
@@ -1442,7 +1441,7 @@
|
||||
<string name="multicast_connect_automatically">Підключати автоматично</string>
|
||||
<string name="desktop_address">Адреса робочого столу</string>
|
||||
<string name="only_one_device_can_work_at_the_same_time">Одночасно може працювати лише один пристрій</string>
|
||||
<string name="v5_4_link_mobile_desktop">Посилання на мобільний та комп\'ютерний додатки! 🔗</string>
|
||||
<string name="v5_4_link_mobile_desktop">Підключіть мобільний і десктопний додатки! 🔗</string>
|
||||
<string name="v5_4_link_mobile_desktop_descr">Через безпечний квантовостійкий протокол.</string>
|
||||
<string name="open_on_mobile_and_scan_qr_code"><![CDATA[Відкрийте <i>Використовувати з робочого столу</i> у мобільному додатку і скануйте QR-код.]]></string>
|
||||
<string name="v5_4_block_group_members_descr">Щоб приховати небажані повідомлення.</string>
|
||||
@@ -1735,7 +1734,7 @@
|
||||
<string name="forward_chat_item">Переслати</string>
|
||||
<string name="forwarded_chat_item_info_tab">Переслано</string>
|
||||
<string name="forwarded_from_chat_item_info_title">Переслано з</string>
|
||||
<string name="group_members_can_send_simplex_links">Учасники групи можуть надсилати посилання SimpleX.</string>
|
||||
<string name="group_members_can_send_simplex_links">Учасники можуть надсилати посилання SimpleX.</string>
|
||||
<string name="v5_7_call_sounds">Звуки вхідного дзвінка</string>
|
||||
<string name="chat_theme_apply_to_light_mode">Світлий режим</string>
|
||||
<string name="update_network_smp_proxy_fallback_question">Запасний варіант маршрутизації повідомлень</string>
|
||||
@@ -1829,7 +1828,7 @@
|
||||
<string name="network_smp_proxy_fallback_allow_protected">Коли IP приховано</string>
|
||||
<string name="network_smp_proxy_fallback_allow">Так</string>
|
||||
<string name="network_option_rcv_concurrency">Отримання паралелізму</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">У цій групі заборонені посилання на SimpleX.</string>
|
||||
<string name="simplex_links_are_prohibited_in_group">Посилання SimpleX заборонені.</string>
|
||||
<string name="v5_7_shape_profile_images">Сформуйте зображення профілю</string>
|
||||
<string name="v5_7_call_sounds_descr">При підключенні аудіо та відеодзвінків.</string>
|
||||
<string name="reset_single_color">Скинути колір</string>
|
||||
@@ -1954,8 +1953,7 @@
|
||||
<string name="servers_info_subscriptions_connections_pending">В очікуванні</string>
|
||||
<string name="servers_info_proxied_servers_section_header">Проксіровані сервери</string>
|
||||
<string name="servers_info_target">Показувати інформацію для</string>
|
||||
<string name="servers_info_private_data_disclaimer">Починаючи з %s.
|
||||
\nВсі дані зберігаються лише на вашому пристрою.</string>
|
||||
<string name="servers_info_private_data_disclaimer">Починаючи з %s.\nУсі дані зберігаються приватно на вашому пристрої.</string>
|
||||
<string name="servers_info_reconnect_server_message">Перепідключити сервер для примусової доставки повідомлень. Це використовує додатковий трафік.</string>
|
||||
<string name="servers_info_reset_stats">Скинути всю статистику</string>
|
||||
<string name="servers_info_reset_stats_alert_title">Скинути всю статистику?</string>
|
||||
@@ -2012,7 +2010,7 @@
|
||||
<string name="app_check_for_updates_button_download">Завантажити %s (%s)</string>
|
||||
<string name="app_check_for_updates_button_open">Відкрити розташування файлу</string>
|
||||
<string name="app_check_for_updates_button_skip">Пропустити цю версію</string>
|
||||
<string name="one_hand_ui">Доступна панель чату</string>
|
||||
<string name="one_hand_ui">Доступні панелі додатка</string>
|
||||
<string name="cant_call_contact_alert_title">Не можна зателефонувати контакту</string>
|
||||
<string name="cant_call_contact_connecting_wait_alert_text">Підключення до контакту, будь ласка, зачекайте або перевірте пізніше!</string>
|
||||
<string name="calls_prohibited_alert_title">Дзвінки заборонені!</string>
|
||||
@@ -2130,10 +2128,10 @@
|
||||
<string name="to_protect_against_your_link_replaced_compare_codes">Щоб захиститися від заміни вашого посилання, ви можете порівняти коди безпеки контактів.</string>
|
||||
<string name="for_social_media">Для соціальних мереж</string>
|
||||
<string name="or_to_share_privately">Або поділитися приватно</string>
|
||||
<string name="onboarding_choose_server_operators">Обирайте операторів</string>
|
||||
<string name="onboarding_choose_server_operators">Оператори серверів</string>
|
||||
<string name="onboarding_network_operators">Мережеві оператори</string>
|
||||
<string name="onboarding_network_operators_conditions_will_be_accepted">Умови будуть прийняті для ввімкнених операторів через 30 днів.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Наприклад, якщо ви отримуєте повідомлення через сервер SimpleX Chat, програма використовуватиме один із серверів Flux для приватної маршрутизації.</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">Наприклад, якщо ваш контакт отримує повідомлення через сервер SimpleX Chat, ваш додаток доставлятиме їх через сервер Flux.</string>
|
||||
<string name="onboarding_select_network_operators_to_use">Виберіть мережевих операторів для використання.</string>
|
||||
<string name="onboarding_network_operators_configure_via_settings">Ви можете налаштувати сервери за допомогою налаштувань.</string>
|
||||
<string name="onboarding_network_operators_review_later">Перегляньте пізніше</string>
|
||||
@@ -2146,16 +2144,16 @@
|
||||
<string name="your_servers">Ваші сервери</string>
|
||||
<string name="use_servers_of_operator_x">Використовуйте %s</string>
|
||||
<string name="operator_use_operator_toggle_description">Використовуйте сервери</string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Ті самі умови стосуватимуться оператора <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_be_applied"><![CDATA[Ті ж умови будуть застосовуватись до оператора <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_applied"><![CDATA[Ці умови також застосовуватимуться для: <b>%s</b>.]]></string>
|
||||
<string name="accept_conditions">Прийняти умови</string>
|
||||
<string name="view_conditions">Умови перегляду</string>
|
||||
<string name="view_conditions">Переглянути умови</string>
|
||||
<string name="operator_added_message_servers">Додано сервери повідомлень</string>
|
||||
<string name="operator_use_for_messages_private_routing">Для приватної маршрутизації</string>
|
||||
<string name="operator_use_for_messages_receiving">Щоб отримати</string>
|
||||
<string name="operator_use_for_files">Використовуйте для файлів</string>
|
||||
<string name="operator_added_xftp_servers">Додано медіа та файлові сервери</string>
|
||||
<string name="operator_open_changes">Відкриті зміни</string>
|
||||
<string name="operator_open_changes">Відкрити зміни</string>
|
||||
<string name="operator_open_conditions">Відкриті умови</string>
|
||||
<string name="xftp_servers_per_user">Сервери для нових файлів вашого поточного профілю чату</string>
|
||||
<string name="operator_use_for_sending">Щоб відправити</string>
|
||||
@@ -2178,7 +2176,7 @@
|
||||
<string name="operator_conditions_accepted_for_some"><![CDATA[Умови вже прийняті для наступних операторів: <b>%s</b>.]]></string>
|
||||
<string name="operator_conditions_will_be_accepted_for_some"><![CDATA[Умови будуть прийняті для оператора(ів): <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_be_accepted_for"><![CDATA[Умови будуть прийняті для оператора(ів): <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Ті самі умови застосовуватимуться до оператора(ів): <b>%s</b>.]]></string>
|
||||
<string name="operator_same_conditions_will_apply_to_operators"><![CDATA[Ті ж умови будуть застосовуватись до оператора(ів): <b>%s</b>.]]></string>
|
||||
<string name="operators_conditions_will_also_apply"><![CDATA[Ці умови також застосовуватимуться для: <b>%s</b>.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Щоб використовувати сервери <b>%s</b>, прийміть умови використання.]]></string>
|
||||
<string name="operator_conditions_failed_to_load">Текст поточних умов не вдалося завантажити, ви можете переглянути умови за цим посиланням:</string>
|
||||
@@ -2196,7 +2194,7 @@
|
||||
<string name="simplex_address_or_1_time_link">SimpleX адреса або одноразове посилання?</string>
|
||||
<string name="smp_servers_new_server">Новий сервер</string>
|
||||
<string name="no_media_servers_configured_for_private_routing">Немає серверів для отримання файлів.</string>
|
||||
<string name="operator_review_conditions">Умови перегляду</string>
|
||||
<string name="operator_review_conditions">Переглянути умови</string>
|
||||
<string name="no_media_servers_configured_for_sending">Немає серверів для надсилання файлів.</string>
|
||||
<string name="network_preset_servers_title">Попередньо встановлені сервери</string>
|
||||
<string name="error_server_protocol_changed">Протокол сервера змінено.</string>
|
||||
@@ -2204,9 +2202,53 @@
|
||||
<string name="simplex_address_and_1_time_links_are_safe_to_share">SimpleX-адреси та одноразові посилання можна безпечно ділитися через будь-який месенджер.</string>
|
||||
<string name="connection_error_quota_desc">З\'єднання досягло ліміту недоставлених повідомлень, ваш контакт може бути офлайн.</string>
|
||||
<string name="address_creation_instruction">Натисніть Створити адресу SimpleX у меню, щоб створити її пізніше.</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="operator_use_for_messages">Використовуйте для повідомлень</string>
|
||||
<string name="onboarding_network_operators_conditions_you_can_configure">Ви можете налаштувати операторів у налаштуваннях Мережі та серверів.</string>
|
||||
<string name="chat_archive">Або імпортуйте архівний файл</string>
|
||||
<string name="remote_hosts_section">Віддалені мобільні</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>Пристрої Xiaomi</b>: будь ласка, увімкніть Автозапуск у налаштуваннях системи, щоб сповіщення працювали.]]></string>
|
||||
<string name="maximum_message_size_title">Повідомлення занадто велике!</string>
|
||||
<string name="maximum_message_size_reached_non_text">Будь ласка, зменшіть розмір повідомлення або видаліть медіа та надішліть знову.</string>
|
||||
<string name="add_your_team_members_to_conversations">Додайте учасників команди до розмов.</string>
|
||||
<string name="business_address">Бізнес адреса</string>
|
||||
<string name="onboarding_notifications_mode_periodic_desc_short">Перевіряти повідомлення кожні 10 хвилин.</string>
|
||||
<string name="onboarding_notifications_mode_off_desc_short">Без фонової служби</string>
|
||||
<string name="onboarding_notifications_mode_battery">Сповіщення та батарея</string>
|
||||
<string name="onboarding_notifications_mode_service_desc_short">Додаток завжди працює у фоні.</string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Усі повідомлення та файли надсилаються <b>зашифрованими end-to-end</b>, з пост-квантовою безпекою в особистих повідомленнях.]]></string>
|
||||
<string name="leave_chat_question">Покинути чат?</string>
|
||||
<string name="member_will_be_removed_from_chat_cannot_be_undone">Учасник буде видалений з чату — це неможливо скасувати!</string>
|
||||
<string name="v6_2_business_chats">Бізнес чати</string>
|
||||
<string name="v6_2_business_chats_descr">Конфіденційність для ваших клієнтів.</string>
|
||||
<string name="chat_bottom_bar">Доступна панель чату</string>
|
||||
<string name="button_add_friends">Додати друзів</string>
|
||||
<string name="button_add_team_members">Додати учасників команди</string>
|
||||
<string name="invite_to_chat_button">Запросити до чату</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">Чат буде видалений для всіх учасників — це неможливо скасувати!</string>
|
||||
<string name="button_delete_chat">Видалити чат</string>
|
||||
<string name="delete_chat_question">Видалити чат?</string>
|
||||
<string name="only_chat_owners_can_change_prefs">Тільки власники чату можуть змінювати налаштування.</string>
|
||||
<string name="member_role_will_be_changed_with_notification_chat">Роль буде змінена на %s. Усі учасники чату отримають повідомлення.</string>
|
||||
<string name="direct_messages_are_prohibited">Прямі повідомлення між учасниками заборонені.</string>
|
||||
<string name="connect_plan_you_are_already_connected_with_vName"><![CDATA[Ви вже підключені до <b>%1$s</b>.]]></string>
|
||||
<string name="connect_plan_chat_already_exists">Чат вже існує!</string>
|
||||
<string name="how_it_helps_privacy">Як це допомагає зберігати конфіденційність</string>
|
||||
<string name="direct_messages_are_prohibited_in_chat">Прямі повідомлення між учасниками заборонені в цьому чаті.</string>
|
||||
<string name="button_leave_chat">Покинути чат</string>
|
||||
<string name="info_row_chat">Чат</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">Чат буде видалений для вас — це неможливо скасувати!</string>
|
||||
<string name="maximum_message_size_reached_text">Будь ласка, зменшіть розмір повідомлення та надішліть знову.</string>
|
||||
<string name="maximum_message_size_reached_forwarding">Скопіюйте та зменшіть розмір повідомлення для відправки.</string>
|
||||
<string name="you_will_stop_receiving_messages_from_this_chat_chat_history_will_be_preserved">Ви припините отримувати повідомлення з цього чату. Історія чату буде збережена.</string>
|
||||
<string name="chat_main_profile_sent">Ваш профіль чату буде надіслано учасникам чату.</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">Коли увімкнено більше ніж одного оператора, жоден з них не має метаданих, щоб дізнатися, хто спілкується з ким.</string>
|
||||
<string name="display_name_accepted_invitation">прийнято запрошення</string>
|
||||
<string name="display_name_requested_to_connect">запит на підключення</string>
|
||||
<string name="onboarding_network_about_operators">Про операторів</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat та Flux уклали угоду про включення серверів, що працюють на Flux, до додатку.</string>
|
||||
<string name="sync_connection_desc">Підключення вимагає повторного узгодження шифрування.</string>
|
||||
<string name="encryption_renegotiation_in_progress">Виконується повторне узгодження шифрування.</string>
|
||||
<string name="sync_connection_confirm">Виправити</string>
|
||||
<string name="sync_connection_question">Виправити підключення?</string>
|
||||
</resources>
|
||||
@@ -1217,7 +1217,7 @@
|
||||
<string name="selected_chat_items_nothing_selected">Không có gì được chọn</string>
|
||||
<string name="open_verb">Mở</string>
|
||||
<string name="auth_open_chat_console">Mở bảng điều khiển trò chuyện</string>
|
||||
<string name="auth_open_chat_profiles">Mở hồ sơ trò chuyện</string>
|
||||
<string name="auth_open_chat_profiles">Thay đổi hồ sơ trò chuyện</string>
|
||||
<string name="network_use_onion_hosts_required_desc">Dịch vụ onion sẽ được yêu cầu để kết nối.\nXin lưu ý: bạn sẽ không thể kết nối tới các máy chủ mà không có địa chỉ .onion.</string>
|
||||
<string name="rcv_group_event_open_chat">Mở</string>
|
||||
<string name="open_database_folder">Mở thư mục cơ sở dữ liệu</string>
|
||||
@@ -1373,9 +1373,9 @@
|
||||
<string name="connect_plan_you_are_already_connecting_to_vName"><![CDATA[Bạn đã kết nối tới <b>%1$s</b> rồi.]]></string>
|
||||
<string name="system_restricted_background_in_call_warn"><![CDATA[Để thực hiện cuộc gọi trong nền, vui lòng chọn <b>Mức sử dụng pin ứng dụng</b> / <b>Không hạn chế</b> trong phần cài đặt ứng dụng.]]></string>
|
||||
<string name="remote_host_error_timeout"><![CDATA[Đã hết thời gian chờ khi kết nối tới thiết bị di động <b>%s</b>]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[Để sử dụng, xin vui lòng <b>cho phép SimpleX chạy trong nền</b> trong hộp thoại tiếp theo. Nếu không, thông báo sẽ bị vô hiệu hóa.]]></string>
|
||||
<string name="turn_off_battery_optimization"><![CDATA[<b>Chọn cho phép</b> trong hộp thoại tiếp theo để nhận thông báo ngay lập tức.]]></string>
|
||||
<string name="operator_in_order_to_use_accept_conditions"><![CDATA[Để sử dụng các máy chủ của <b>%s</b>, vui lòng chấp nhận điều kiện sử dụng.]]></string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Để bảo vệ sự riêng tư của bạn, thay vì sử dụng thông báo đẩy thì ứng dụng dùng <b>Dịch vụ nền SimpleX</b> – nó tiêu tốn một vài phần trăm pin mỗi ngày.]]></string>
|
||||
<string name="to_preserve_privacy_simplex_has_background_service_instead_of_push_notifications_it_uses_a_few_pc_battery"><![CDATA[Để tăng cường sự riêng tư, <b>SimpleX chạy trong nền</b> thay vì dùng thông báo đẩy.]]></string>
|
||||
<string name="system_restricted_background_warn"><![CDATA[Để bật thông báo, vui lòng chọn <b>Mức sử dụng pin ứng dụng</b> / <b>Không hạn chế</b> trong phần cài đặt ứng dụng.]]></string>
|
||||
<string name="connect_plan_you_are_already_in_group_vName"><![CDATA[Bạn đã ở trong nhóm <b>%1$s</b> rồi.]]></string>
|
||||
<string name="connect_plan_this_is_your_link_for_group_vName"><![CDATA[Đây là đường dẫn của bạn cho nhóm <b>%1$s</b>!]]></string>
|
||||
@@ -1399,4 +1399,19 @@
|
||||
<string name="error_updating_server_title">Lỗi cập nhật máy chủ</string>
|
||||
<string name="operator_conditions_accepted_on">Các điều kiện đã được chấp nhận vào: %s.</string>
|
||||
<string name="operator_conditions_accepted_for_enabled_operators_on">Các điều kiện sẽ được tự động chấp nhận với các nhà cung cấp được cho phép vào: %s.</string>
|
||||
<string name="xiaomi_ignore_battery_optimization"><![CDATA[<b>Thiết bị Xiaomi</b>: vui lòng bật Tự động khởi động trong phần cài đặt hệ thống để thông báo có thể hoạt động bình thường.]]></string>
|
||||
<string name="onboarding_notifications_mode_service_desc_short">Ứng dụng luôn chạy dưới nền</string>
|
||||
<string name="delete_chat_for_all_members_cannot_undo_warning">Cuộc trò chuyện sẽ bị xóa cho tất cả các thành viên - việc này không thể được hoàn tác!</string>
|
||||
<string name="delete_chat_for_self_cannot_undo_warning">Cuộc trò chuyện sẽ bị xóa cho bạn - việc này không thể được hoàn tác!</string>
|
||||
<string name="v6_2_business_chats">Các cuộc trò chuyện công việc</string>
|
||||
<string name="button_add_team_members">Thêm các thành viên nhóm</string>
|
||||
<string name="info_row_chat">Cuộc trò chuyện</string>
|
||||
<string name="connect_plan_you_are_already_connected_with_vName"><![CDATA[Bạn đã kết nối với <b>%1$s</b> rồi.]]></string>
|
||||
<string name="connect_plan_chat_already_exists">Cuộc trò chuyện đã tồn tại!</string>
|
||||
<string name="button_add_friends">Thêm bạn bè</string>
|
||||
<string name="display_name_accepted_invitation">đã chấp nhận lời mời</string>
|
||||
<string name="all_message_and_files_e2e_encrypted"><![CDATA[Tất cả các tin nhắn và tệp gửi đi đều được <b>mã hóa đầu cuối</b>, với bảo mật sau ượng tử trong các tin nhắn trực tiếp.]]></string>
|
||||
<string name="onboarding_network_about_operators">Giới thiệu về các nhà cung cấp</string>
|
||||
<string name="add_your_team_members_to_conversations">Thêm các thành viên nhóm của bạn vào các cuộc trò chuyện.</string>
|
||||
<string name="business_address">Địa chỉ doanh nghiệp</string>
|
||||
</resources>
|
||||
@@ -799,7 +799,6 @@
|
||||
<string name="prohibit_direct_messages">禁止向成员发送私信。</string>
|
||||
<string name="protect_app_screen">保护应用程序屏幕</string>
|
||||
<string name="settings_section_title_themes">主题</string>
|
||||
<string name="stop_chat_to_enable_database_actions">停止聊天以启用数据库操作。</string>
|
||||
<string name="chat_item_ttl_seconds">%s 秒</string>
|
||||
<string name="alert_message_no_group">该群已不存在。</string>
|
||||
<string name="group_invitation_tap_to_join">点击加入</string>
|
||||
@@ -1918,8 +1917,7 @@
|
||||
<string name="servers_info_reset_stats_alert_confirm">重置</string>
|
||||
<string name="network_error_broker_host_desc">服务器地址不兼容网络设置:%1$s。</string>
|
||||
<string name="servers_info_starting_from">起始自 %s。</string>
|
||||
<string name="servers_info_private_data_disclaimer">起始自 %s.
|
||||
\n所有数据都是设备的私有数据。</string>
|
||||
<string name="servers_info_private_data_disclaimer">自 %s 起 \n所有数据均私密地保存在你的设备上..</string>
|
||||
<string name="subscribed">已订阅</string>
|
||||
<string name="acknowledged">已认可</string>
|
||||
<string name="network_error_broker_version_desc">服务器版本不兼容你的应用:%1$s.</string>
|
||||
@@ -2158,8 +2156,8 @@
|
||||
<string name="v6_2_network_decentralization_descr">应用中的第二个预设运营者!</string>
|
||||
<string name="v6_2_improved_chat_navigation">改进了聊天导航</string>
|
||||
<string name="view_updated_conditions">查看更新后的条款</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">比如,如果你通过 SimpleX 服务器收到消息,应用会使用 Flux 服务器中的一台进行私密路由。</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">启用了多于一个网络运营者时,应用会为每个对话使用不同运营者的服务器。</string>
|
||||
<string name="onboarding_network_operators_app_will_use_for_routing">比如,如果你通过 SimpleX 服务器收到消息,应用会通过 Flux 服务器传送它们。</string>
|
||||
<string name="onboarding_network_operators_app_will_use_different_operators">应用通过在每个对话中使用不同运营者保护你的隐私。</string>
|
||||
<string name="accept_conditions">接受条款</string>
|
||||
<string name="appearance_bars_blur_radius">模糊</string>
|
||||
<string name="address_or_1_time_link">地址或一次性链接?</string>
|
||||
@@ -2230,4 +2228,13 @@
|
||||
<string name="info_row_chat">聊天</string>
|
||||
<string name="member_will_be_removed_from_chat_cannot_be_undone">将从聊天中删除成员 - 此操作无法撤销!</string>
|
||||
<string name="maximum_message_size_reached_text">请减小消息尺寸并再次发送。</string>
|
||||
<string name="onboarding_network_operators_cant_see_who_talks_to_whom">当启用了超过一个运营者时,没有一个运营者拥有了解谁和谁联络的元数据。</string>
|
||||
<string name="display_name_accepted_invitation">已接受邀请</string>
|
||||
<string name="display_name_requested_to_connect">被请求连接</string>
|
||||
<string name="onboarding_network_about_operators">关于运营者</string>
|
||||
<string name="onboarding_network_operators_simplex_flux_agreement">SimpleX Chat 和 Flux 达成协议将 Flux 运营的服务器包括在应用中。</string>
|
||||
<string name="sync_connection_confirm">修复</string>
|
||||
<string name="sync_connection_question">修复连接?</string>
|
||||
<string name="encryption_renegotiation_in_progress">正进行加密重协商。</string>
|
||||
<string name="sync_connection_desc">连接需要加密重协商。</string>
|
||||
</resources>
|
||||
@@ -119,7 +119,6 @@
|
||||
<string name="chat_is_stopped">聊天室已停止運作</string>
|
||||
<string name="stop_chat_confirmation">停止</string>
|
||||
<string name="chat_database_deleted">已刪除數據庫的對話內容</string>
|
||||
<string name="stop_chat_to_enable_database_actions">停止聊天室以啟用數據庫功能。</string>
|
||||
<string name="change_database_passphrase_question">修改數據庫密碼?</string>
|
||||
<string name="leave_group_question">確定要退出群組?</string>
|
||||
<string name="leave_group_button">退出</string>
|
||||
|
||||
@@ -12,26 +12,60 @@ body {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
#remote-video-stream.collapsed {
|
||||
position: absolute;
|
||||
max-width: 30%;
|
||||
max-height: 30%;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
bottom: 80px;
|
||||
right: 0;
|
||||
@media (orientation: portrait) {
|
||||
#remote-video-stream.collapsed {
|
||||
position: absolute;
|
||||
width: 30%;
|
||||
max-width: 30%;
|
||||
height: 39.9vw;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
bottom: 80px;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#remote-video-stream.collapsed-pip {
|
||||
position: absolute;
|
||||
max-width: 50%;
|
||||
max-height: 50%;
|
||||
object-fit: cover;
|
||||
margin: 8px;
|
||||
border-radius: 8px;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
@media (orientation: landscape) {
|
||||
#remote-video-stream.collapsed {
|
||||
position: absolute;
|
||||
width: 20%;
|
||||
max-width: 20%;
|
||||
height: 15.03vw;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
bottom: 80px;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: portrait) {
|
||||
#remote-video-stream.collapsed-pip {
|
||||
position: absolute;
|
||||
width: 50%;
|
||||
max-width: 50%;
|
||||
height: 66.5vw;
|
||||
object-fit: cover;
|
||||
margin: 8px;
|
||||
border-radius: 8px;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: landscape) {
|
||||
#remote-video-stream.collapsed-pip {
|
||||
position: absolute;
|
||||
width: 50%;
|
||||
max-width: 50%;
|
||||
height: 37.59vw;
|
||||
object-fit: cover;
|
||||
margin: 8px;
|
||||
border-radius: 8px;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#remote-screen-video-stream.inline {
|
||||
@@ -41,15 +75,32 @@ body {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
#local-video-stream.inline {
|
||||
position: absolute;
|
||||
width: 30%;
|
||||
max-width: 30%;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
@media (orientation: portrait) {
|
||||
#local-video-stream.inline {
|
||||
position: absolute;
|
||||
width: 30%;
|
||||
max-width: 30%;
|
||||
height: 39.9vw;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: landscape) {
|
||||
#local-video-stream.inline {
|
||||
position: absolute;
|
||||
width: 20%;
|
||||
max-width: 20%;
|
||||
height: 15.03vw;
|
||||
object-fit: cover;
|
||||
margin: 16px;
|
||||
border-radius: 16px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#local-screen-video-stream.inline {
|
||||
|
||||
@@ -301,6 +301,7 @@ const processCommand = (function () {
|
||||
localStream = await getLocalMediaStream(true, command.media == CallMediaType.Video && (await browserHasCamera()), VideoCamera.User);
|
||||
const videos = getVideoElements();
|
||||
if (videos) {
|
||||
setupLocalVideoRatio(videos.local);
|
||||
videos.local.srcObject = localStream;
|
||||
videos.local.play().catch((e) => console.log(e));
|
||||
}
|
||||
@@ -330,9 +331,12 @@ const processCommand = (function () {
|
||||
console.log("starting incoming call - create webrtc session");
|
||||
if (activeCall)
|
||||
endCall();
|
||||
// It can be already defined on Android when switching calls (if the previous call was outgoing)
|
||||
notConnectedCall = undefined;
|
||||
inactiveCallMediaSources.mic = true;
|
||||
inactiveCallMediaSources.camera = command.media == CallMediaType.Video;
|
||||
inactiveCallMediaSourcesChanged(inactiveCallMediaSources);
|
||||
setupLocalVideoRatio(getVideoElements().local);
|
||||
const { media, iceServers, relay } = command;
|
||||
const encryption = supportsInsertableStreams(useWorker);
|
||||
const aesKey = encryption ? command.aesKey : undefined;
|
||||
@@ -547,13 +551,13 @@ const processCommand = (function () {
|
||||
}
|
||||
function endCall() {
|
||||
var _a;
|
||||
shutdownCameraAndMic();
|
||||
try {
|
||||
(_a = activeCall === null || activeCall === void 0 ? void 0 : activeCall.connection) === null || _a === void 0 ? void 0 : _a.close();
|
||||
}
|
||||
catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
shutdownCameraAndMic();
|
||||
activeCall = undefined;
|
||||
resetVideoElements();
|
||||
}
|
||||
@@ -642,27 +646,21 @@ const processCommand = (function () {
|
||||
}
|
||||
// Without doing it manually Firefox shows black screen but video can be played in Picture-in-Picture
|
||||
videos.local.play().catch((e) => console.log(e));
|
||||
setupLocalVideoRatio(videos.local);
|
||||
}
|
||||
function setupLocalVideoRatio(local) {
|
||||
const ratio = isDesktop ? 1.33 : 1 / 1.33;
|
||||
const currentRect = local.getBoundingClientRect();
|
||||
// better to get percents from here than to hardcode values from styles (the styles can be changed)
|
||||
const screenWidth = currentRect.left + currentRect.width;
|
||||
const percents = currentRect.width / screenWidth;
|
||||
local.style.width = `${percents * 100}%`;
|
||||
local.style.height = `${(percents / ratio) * 100}vw`;
|
||||
local.addEventListener("loadedmetadata", function () {
|
||||
console.log("Local video videoWidth: " + local.videoWidth + "px, videoHeight: " + local.videoHeight + "px");
|
||||
if (local.videoWidth == 0 || local.videoHeight == 0)
|
||||
return;
|
||||
local.style.height = `${(percents / (local.videoWidth / local.videoHeight)) * 100}vw`;
|
||||
const ratio = local.videoWidth > local.videoHeight ? 0.2 : 0.3;
|
||||
local.style.height = `${(ratio / (local.videoWidth / local.videoHeight)) * 100}vw`;
|
||||
});
|
||||
local.onresize = function () {
|
||||
console.log("Local video size changed to " + local.videoWidth + "x" + local.videoHeight);
|
||||
if (local.videoWidth == 0 || local.videoHeight == 0)
|
||||
return;
|
||||
local.style.height = `${(percents / (local.videoWidth / local.videoHeight)) * 100}vw`;
|
||||
const ratio = local.videoWidth > local.videoHeight ? 0.2 : 0.3;
|
||||
local.style.height = `${(ratio / (local.videoWidth / local.videoHeight)) * 100}vw`;
|
||||
};
|
||||
}
|
||||
function setupEncryptionForLocalStream(call) {
|
||||
@@ -1128,8 +1126,9 @@ const processCommand = (function () {
|
||||
(!!useWorker && "RTCRtpScriptTransform" in window));
|
||||
}
|
||||
function shutdownCameraAndMic() {
|
||||
if (activeCall === null || activeCall === void 0 ? void 0 : activeCall.localStream) {
|
||||
if (activeCall) {
|
||||
activeCall.localStream.getTracks().forEach((track) => track.stop());
|
||||
activeCall.localScreenStream.getTracks().forEach((track) => track.stop());
|
||||
}
|
||||
}
|
||||
function resetVideoElements() {
|
||||
@@ -1295,6 +1294,9 @@ function changeLayout(layout) {
|
||||
break;
|
||||
}
|
||||
videos.localScreen.style.visibility = localSources.screenVideo ? "visible" : "hidden";
|
||||
if (!isDesktop && !localSources.camera) {
|
||||
resetLocalVideoElementHeight(videos.local);
|
||||
}
|
||||
}
|
||||
function getVideoElements() {
|
||||
const local = document.getElementById("local-video-stream");
|
||||
@@ -1312,6 +1314,11 @@ function getVideoElements() {
|
||||
return;
|
||||
return { local, localScreen, remote, remoteScreen };
|
||||
}
|
||||
// Allow CSS to figure out the size of view by itself on Android because rotating to different orientation
|
||||
// without dropping override will cause the view to have not normal proportion while no video is present
|
||||
function resetLocalVideoElementHeight(local) {
|
||||
local.style.height = "";
|
||||
}
|
||||
function desktopShowPermissionsAlert(mediaType) {
|
||||
if (!isDesktop)
|
||||
return;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user