diff --git a/DcCore/DcCore/Helper/KeychainManager.swift b/DcCore/DcCore/Helper/KeychainManager.swift
index d2ebd7c3d..b812cd999 100644
--- a/DcCore/DcCore/Helper/KeychainManager.swift
+++ b/DcCore/DcCore/Helper/KeychainManager.swift
@@ -12,7 +12,7 @@ public class KeychainManager {
// the development team id is equivalent to $(AppIdentifierPrefix) in deltachat-ios.entitlements
// It is required as a prefix for the shared keychain identifier, but not straight forward to access programmatically,
// so we're hardcoding it here
- private static let teamId = "8Y86453UA8"
+ private static let teamId = "9WB6484ZRW"
private static let sharedKeychainGroup = "\(KcM.teamId).group.chat.privitty.ios"
public static func getAccountSecret(accountID: Int) throws -> String {
diff --git a/DcShare/Info.plist b/DcShare/Info.plist
index caea31181..0161ff5f6 100644
--- a/DcShare/Info.plist
+++ b/DcShare/Info.plist
@@ -5,7 +5,7 @@
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
- $(PRODUCT_NAME)
+ Privitty Chat
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -13,7 +13,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- $(PRODUCT_NAME)
+ Privitty Chat
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
diff --git a/DcWidget/DcWidget.swift b/DcWidget/DcWidget.swift
index f89e98141..0e74abd51 100644
--- a/DcWidget/DcWidget.swift
+++ b/DcWidget/DcWidget.swift
@@ -64,7 +64,7 @@ struct ChatShortcutView: View {
}
struct DcWidget: Widget {
- let kind: String = "DcWidget"
+ let kind: String = "PrvWidget"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Provider()) { entry in
diff --git a/Privitty.framework.zip b/Privitty.framework.zip
deleted file mode 100644
index cf74b719b..000000000
Binary files a/Privitty.framework.zip and /dev/null differ
diff --git a/deltachat-ios.xcodeproj/project.pbxproj b/deltachat-ios.xcodeproj/project.pbxproj
index d776ac51a..54341f9c3 100644
--- a/deltachat-ios.xcodeproj/project.pbxproj
+++ b/deltachat-ios.xcodeproj/project.pbxproj
@@ -129,7 +129,7 @@
30E348E524F6647D005C93D1 /* FileTextCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E348E424F6647D005C93D1 /* FileTextCell.swift */; };
30E8F2132447285600CE2C90 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E8F2122447285600CE2C90 /* ShareViewController.swift */; };
30E8F2162447285600CE2C90 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 30E8F2142447285600CE2C90 /* MainInterface.storyboard */; };
- 30E8F21A2447285600CE2C90 /* Delta Chat.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 30E8F2102447285600CE2C90 /* Delta Chat.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 30E8F21A2447285600CE2C90 /* PrvShare.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 30E8F2102447285600CE2C90 /* PrvShare.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
30E8F2252447622300CE2C90 /* DcCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 304219D1243F588500516852 /* DcCore.framework */; };
30E8F2422448B77600CE2C90 /* ChatListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E8F2412448B77600CE2C90 /* ChatListController.swift */; };
30E8F2442449C64100CE2C90 /* ChatListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E8F2432449C64100CE2C90 /* ChatListCell.swift */; };
@@ -184,7 +184,6 @@
AE6EC5242497663200A400E4 /* UIImageView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6EC5232497663200A400E4 /* UIImageView+Extensions.swift */; };
AE728F15229D5C390047565B /* PhotoPickerAlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE728F14229D5C390047565B /* PhotoPickerAlertAction.swift */; };
AE76E5EE242BF2EA003CF461 /* WelcomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE76E5ED242BF2EA003CF461 /* WelcomeViewController.swift */; };
- F4FA10E83EA041329C24AAF6 /* ServerSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37D436D0085A422CB2AA0795 /* ServerSelectionViewController.swift */; };
AE77838F23E4276D0093EABD /* ContactCellViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE77838E23E4276D0093EABD /* ContactCellViewModel.swift */; };
AE8519EA2272FDCA00ED86F0 /* DeviceContactsHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE8519E92272FDCA00ED86F0 /* DeviceContactsHandler.swift */; };
AE851AC5227C755A00ED86F0 /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE851AC4227C755A00ED86F0 /* Protocols.swift */; };
@@ -224,7 +223,7 @@
B2C42570265C325C00B95377 /* MultilineLabelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C4256F265C325C00B95377 /* MultilineLabelCell.swift */; };
B2CDA6322CCDB3080024763F /* MuteDialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2CDA6312CCDB3080024763F /* MuteDialog.swift */; };
B2D0E4952B93A4B200791949 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D0E4942B93A4B200791949 /* NotificationService.swift */; };
- B2D0E4992B93A4B200791949 /* DcNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B2D0E4922B93A4B200791949 /* DcNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ B2D0E4992B93A4B200791949 /* PrvNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B2D0E4922B93A4B200791949 /* PrvNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
B2D255972BEC2C9B00CCD7BC /* InstantOnboardingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D255962BEC2C9B00CCD7BC /* InstantOnboardingViewController.swift */; };
B2D4B63B29C38D1900B47DA8 /* ChatsAndMediaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D4B63A29C38D1900B47DA8 /* ChatsAndMediaViewController.swift */; };
B2F899E129F96A67003797D5 /* AllMediaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2F899E029F96A67003797D5 /* AllMediaViewController.swift */; };
@@ -244,7 +243,7 @@
D86DF20C2D30318B00141B3E /* WebxdcStoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86DF20B2D30318B00141B3E /* WebxdcStoreViewController.swift */; };
D878C4FD2CF72AA0009AF551 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D878C4FC2CF72AA0009AF551 /* WidgetKit.framework */; };
D878C4FF2CF72AA0009AF551 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D878C4FE2CF72AA0009AF551 /* SwiftUI.framework */; };
- D878C50C2CF72AA1009AF551 /* DcWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D878C4FB2CF72AA0009AF551 /* DcWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ D878C50C2CF72AA1009AF551 /* PrvWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D878C4FB2CF72AA0009AF551 /* PrvWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
D87C64672D01E4EF004472D6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3060119E22DDE24000C1CE6F /* Localizable.strings */; };
D89C456D2D0AF6A8005B1491 /* WidgetEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89C456C2D0AF6A8005B1491 /* WidgetEntry.swift */; };
D89C45722D0B0166005B1491 /* WidgetEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89C456C2D0AF6A8005B1491 /* WidgetEntry.swift */; };
@@ -263,6 +262,7 @@
D8E426D82D423FCF0078C735 /* DownloadingActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8E426D72D423FCF0078C735 /* DownloadingActivityView.swift */; };
D8FB03FD2B4EF20700A355F8 /* ReactionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FB03FC2B4EF20700A355F8 /* ReactionsView.swift */; };
D8FB04002B4F0CF100A355F8 /* EmojiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FB03FF2B4F0CF000A355F8 /* EmojiView.swift */; };
+ F4FA10E83EA041329C24AAF6 /* ServerSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37D436D0085A422CB2AA0795 /* ServerSelectionViewController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -278,7 +278,7 @@
containerPortal = 7A9FB1381FB061E2001FEA36 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 7A9FB13F1FB061E2001FEA36;
- remoteInfo = "deltachat-ios";
+ remoteInfo = PrivittyChat;
};
B2D0E4972B93A4B200791949 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -315,9 +315,9 @@
dstPath = "";
dstSubfolderSpec = 13;
files = (
- B2D0E4992B93A4B200791949 /* DcNotificationService.appex in Embed Foundation Extensions */,
- D878C50C2CF72AA1009AF551 /* DcWidget.appex in Embed Foundation Extensions */,
- 30E8F21A2447285600CE2C90 /* Delta Chat.appex in Embed Foundation Extensions */,
+ B2D0E4992B93A4B200791949 /* PrvNotificationService.appex in Embed Foundation Extensions */,
+ D878C50C2CF72AA1009AF551 /* PrvWidget.appex in Embed Foundation Extensions */,
+ 30E8F21A2447285600CE2C90 /* PrvShare.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
@@ -483,7 +483,7 @@
30DED712292EE4280040835D /* LogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogViewController.swift; sourceTree = ""; };
30E348E024F53772005C93D1 /* ImageTextCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageTextCell.swift; sourceTree = ""; };
30E348E424F6647D005C93D1 /* FileTextCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileTextCell.swift; sourceTree = ""; };
- 30E8F2102447285600CE2C90 /* Delta Chat.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Delta Chat.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 30E8F2102447285600CE2C90 /* PrvShare.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PrvShare.appex; sourceTree = BUILT_PRODUCTS_DIR; };
30E8F2122447285600CE2C90 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; };
30E8F2152447285600CE2C90 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; };
30E8F2172447285600CE2C90 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
@@ -498,6 +498,7 @@
30FDB6F824D1C1000066C48D /* ChatViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatViewController.swift; sourceTree = ""; };
30FDB71E24D8170E0066C48D /* TextMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextMessageCell.swift; sourceTree = ""; };
30FDB72024D838240066C48D /* BaseMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseMessageCell.swift; sourceTree = ""; };
+ 37D436D0085A422CB2AA0795 /* ServerSelectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServerSelectionViewController.swift; sourceTree = ""; };
5299B7A064591DDEE0678CD6 /* Pods-DcShare.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DcShare.debug.xcconfig"; path = "Target Support Files/Pods-DcShare/Pods-DcShare.debug.xcconfig"; sourceTree = ""; };
5F153E992CC38BAA00871ABE /* GiveBackMyFirstResponder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GiveBackMyFirstResponder.swift; sourceTree = ""; };
5F4945AA2D315E7000DCD50A /* UIPasteboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIPasteboard.swift; sourceTree = ""; };
@@ -518,7 +519,7 @@
78ED839321D5AF8A00243125 /* QrCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QrCodeView.swift; sourceTree = ""; };
7A0052C71FBE6CB40048C3BF /* NewContactController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewContactController.swift; sourceTree = ""; };
7A451DAF1FB1F84900177250 /* AppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = ""; };
- 7A9FB1401FB061E2001FEA36 /* deltachat-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "deltachat-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7A9FB1401FB061E2001FEA36 /* Privitty Chat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Privitty Chat.app"; sourceTree = BUILT_PRODUCTS_DIR; };
7A9FB1431FB061E2001FEA36 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
7A9FB14A1FB061E2001FEA36 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
7A9FB14D1FB061E2001FEA36 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
@@ -544,7 +545,6 @@
AE6EC5232497663200A400E4 /* UIImageView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Extensions.swift"; sourceTree = ""; };
AE728F14229D5C390047565B /* PhotoPickerAlertAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoPickerAlertAction.swift; sourceTree = ""; };
AE76E5ED242BF2EA003CF461 /* WelcomeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeViewController.swift; sourceTree = ""; };
- 37D436D0085A422CB2AA0795 /* ServerSelectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServerSelectionViewController.swift; sourceTree = ""; };
AE77838E23E4276D0093EABD /* ContactCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactCellViewModel.swift; sourceTree = ""; };
AE8519E92272FDCA00ED86F0 /* DeviceContactsHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceContactsHandler.swift; sourceTree = ""; };
AE851AC4227C755A00ED86F0 /* Protocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Protocols.swift; sourceTree = ""; };
@@ -655,7 +655,7 @@
B2B9BC1226245F2200F35832 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = cs; path = cs.lproj/Localizable.stringsdict; sourceTree = ""; };
B2C4256F265C325C00B95377 /* MultilineLabelCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MultilineLabelCell.swift; sourceTree = ""; };
B2CDA6312CCDB3080024763F /* MuteDialog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MuteDialog.swift; sourceTree = ""; };
- B2D0E4922B93A4B200791949 /* DcNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = DcNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ B2D0E4922B93A4B200791949 /* PrvNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PrvNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
B2D0E4942B93A4B200791949 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; };
B2D0E4962B93A4B200791949 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
B2D255962BEC2C9B00CCD7BC /* InstantOnboardingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InstantOnboardingViewController.swift; sourceTree = ""; };
@@ -677,7 +677,7 @@
D85DF9772C4A96CB00A01408 /* UserDefaults+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Extensions.swift"; sourceTree = ""; };
D85DF97F2C5250E200A01408 /* ProgressAlertHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressAlertHandler.swift; sourceTree = ""; };
D86DF20B2D30318B00141B3E /* WebxdcStoreViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebxdcStoreViewController.swift; sourceTree = ""; };
- D878C4FB2CF72AA0009AF551 /* DcWidget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = DcWidget.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ D878C4FB2CF72AA0009AF551 /* PrvWidget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PrvWidget.appex; sourceTree = BUILT_PRODUCTS_DIR; };
D878C4FC2CF72AA0009AF551 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
D878C4FE2CF72AA0009AF551 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
D89C456C2D0AF6A8005B1491 /* WidgetEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetEntry.swift; sourceTree = ""; };
@@ -1021,10 +1021,10 @@
7A9FB1411FB061E2001FEA36 /* Products */ = {
isa = PBXGroup;
children = (
- 7A9FB1401FB061E2001FEA36 /* deltachat-ios.app */,
- 30E8F2102447285600CE2C90 /* Delta Chat.appex */,
- B2D0E4922B93A4B200791949 /* DcNotificationService.appex */,
- D878C4FB2CF72AA0009AF551 /* DcWidget.appex */,
+ 7A9FB1401FB061E2001FEA36 /* Privitty Chat.app */,
+ 30E8F2102447285600CE2C90 /* PrvShare.appex */,
+ B2D0E4922B93A4B200791949 /* PrvNotificationService.appex */,
+ D878C4FB2CF72AA0009AF551 /* PrvWidget.appex */,
643B44772E0C2BD800AEE026 /* DcTests.xctest */,
);
name = Products;
@@ -1364,7 +1364,7 @@
);
name = DcShare;
productName = DcShare;
- productReference = 30E8F2102447285600CE2C90 /* Delta Chat.appex */;
+ productReference = 30E8F2102447285600CE2C90 /* PrvShare.appex */;
productType = "com.apple.product-type.app-extension";
};
643B44762E0C2BD800AEE026 /* DcTests */ = {
@@ -1388,9 +1388,9 @@
productReference = 643B44772E0C2BD800AEE026 /* DcTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
- 7A9FB13F1FB061E2001FEA36 /* deltachat-ios */ = {
+ 7A9FB13F1FB061E2001FEA36 /* PrivittyChat */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 7A9FB1521FB061E2001FEA36 /* Build configuration list for PBXNativeTarget "deltachat-ios" */;
+ buildConfigurationList = 7A9FB1521FB061E2001FEA36 /* Build configuration list for PBXNativeTarget "PrivittyChat" */;
buildPhases = (
3DB7A8391DB1450B98F1CC07 /* [CP] Check Pods Manifest.lock */,
7A9FB13C1FB061E2001FEA36 /* Sources */,
@@ -1409,9 +1409,9 @@
B2D0E4982B93A4B200791949 /* PBXTargetDependency */,
D878C50B2CF72AA1009AF551 /* PBXTargetDependency */,
);
- name = "deltachat-ios";
- productName = "deltachat-ios";
- productReference = 7A9FB1401FB061E2001FEA36 /* deltachat-ios.app */;
+ name = PrivittyChat;
+ productName = PrivittyChat;
+ productReference = 7A9FB1401FB061E2001FEA36 /* Privitty Chat.app */;
productType = "com.apple.product-type.application";
};
B2D0E4912B93A4B200791949 /* DcNotificationService */ = {
@@ -1428,7 +1428,7 @@
);
name = DcNotificationService;
productName = DcNotificationService;
- productReference = B2D0E4922B93A4B200791949 /* DcNotificationService.appex */;
+ productReference = B2D0E4922B93A4B200791949 /* PrvNotificationService.appex */;
productType = "com.apple.product-type.app-extension";
};
D878C4FA2CF72AA0009AF551 /* DcWidget */ = {
@@ -1448,7 +1448,7 @@
);
name = DcWidget;
productName = MostRecentWebXDCWidgetExtension;
- productReference = D878C4FB2CF72AA0009AF551 /* DcWidget.appex */;
+ productReference = D878C4FB2CF72AA0009AF551 /* PrvWidget.appex */;
productType = "com.apple.product-type.app-extension";
};
/* End PBXNativeTarget section */
@@ -1555,7 +1555,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
- 7A9FB13F1FB061E2001FEA36 /* deltachat-ios */,
+ 7A9FB13F1FB061E2001FEA36 /* PrivittyChat */,
30E8F20F2447285600CE2C90 /* DcShare */,
B2D0E4912B93A4B200791949 /* DcNotificationService */,
D878C4FA2CF72AA0009AF551 /* DcWidget */,
@@ -1991,7 +1991,7 @@
};
643B447C2E0C2BD900AEE026 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 7A9FB13F1FB061E2001FEA36 /* deltachat-ios */;
+ target = 7A9FB13F1FB061E2001FEA36 /* PrivittyChat */;
targetProxy = 643B447B2E0C2BD900AEE026 /* PBXContainerItemProxy */;
};
B2D0E4982B93A4B200791949 /* PBXTargetDependency */ = {
@@ -2193,6 +2193,7 @@
CODE_SIGN_ENTITLEMENTS = DcShare/DcShare.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@@ -2221,7 +2222,7 @@
"\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder\"",
);
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcShare;
- PRODUCT_NAME = "Delta Chat";
+ PRODUCT_NAME = PrvShare;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.5;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2237,6 +2238,7 @@
CODE_SIGN_ENTITLEMENTS = DcShare/DcShare.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@@ -2264,7 +2266,7 @@
"\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder\"",
);
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcShare;
- PRODUCT_NAME = "Delta Chat";
+ PRODUCT_NAME = PrvShare;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.5;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2296,7 +2298,7 @@
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/deltachat-ios.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/deltachat-ios";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Privitty Chat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Privitty Chat";
};
name = Debug;
};
@@ -2322,7 +2324,7 @@
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/deltachat-ios.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/deltachat-ios";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Privitty Chat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Privitty Chat";
};
name = Release;
};
@@ -2363,7 +2365,7 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = 8Y86453UA8;
+ DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -2430,7 +2432,7 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = 8Y86453UA8;
+ DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -2461,9 +2463,10 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
- CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios.entitlements";
+ CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios-debug.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -2487,6 +2490,7 @@
"$(PROJECT_DIR)/deltachat-ios/libraries/deltachat-core-rust/deltachat-ffi",
"$(PROJECT_DIR)/deltachat-ios/libraries",
);
+ MARKETING_VERSION = 1.0.0;
OTHER_CFLAGS = (
"$(inherited)",
"-isystem",
@@ -2520,7 +2524,7 @@
);
OTHER_LDFLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = "Privitty Chat";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2538,6 +2542,7 @@
CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -2561,6 +2566,7 @@
"$(PROJECT_DIR)/deltachat-ios/libraries/deltachat-core-rust/deltachat-ffi",
"$(PROJECT_DIR)/deltachat-ios/libraries",
);
+ MARKETING_VERSION = 1.0.0;
OTHER_CFLAGS = (
"$(inherited)",
"-isystem",
@@ -2594,7 +2600,7 @@
);
OTHER_LDFLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = "Privitty Chat";
PROVISIONING_PROFILE_SPECIFIER = "";
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
@@ -2610,6 +2616,7 @@
CODE_SIGN_ENTITLEMENTS = DcNotificationService/DcNotificationService.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -2627,7 +2634,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcNotificationServices;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = PrvNotificationService;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -2645,6 +2652,7 @@
CODE_SIGN_ENTITLEMENTS = DcNotificationService/DcNotificationService.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -2661,7 +2669,7 @@
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcNotificationServices;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = PrvNotificationService;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.5;
@@ -2677,9 +2685,10 @@
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
- CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios.entitlements";
+ CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios-debug.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -2697,7 +2706,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcWidget;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = PrvWidget;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -2717,6 +2726,7 @@
CODE_SIGN_ENTITLEMENTS = "deltachat-ios/deltachat-ios.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 14;
DEVELOPMENT_TEAM = 9WB6484ZRW;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -2733,7 +2743,7 @@
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = chat.privitty.DcWidget;
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_NAME = PrvWidget;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.5;
@@ -2771,7 +2781,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 7A9FB1521FB061E2001FEA36 /* Build configuration list for PBXNativeTarget "deltachat-ios" */ = {
+ 7A9FB1521FB061E2001FEA36 /* Build configuration list for PBXNativeTarget "PrivittyChat" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7A9FB1531FB061E2001FEA36 /* Debug */,
diff --git a/deltachat-ios.xcodeproj/xcshareddata/xcschemes/deltachat-ios.xcscheme b/deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrivittyChat.xcscheme
similarity index 91%
rename from deltachat-ios.xcodeproj/xcshareddata/xcschemes/deltachat-ios.xcscheme
rename to deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrivittyChat.xcscheme
index 314639d9e..590712374 100644
--- a/deltachat-ios.xcodeproj/xcshareddata/xcschemes/deltachat-ios.xcscheme
+++ b/deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrivittyChat.xcscheme
@@ -15,8 +15,8 @@
@@ -31,8 +31,8 @@
@@ -76,8 +76,8 @@
@@ -105,8 +105,8 @@
diff --git a/deltachat-ios.xcodeproj/xcshareddata/xcschemes/DcWidgetExtension.xcscheme b/deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrvWidgetExtension.xcscheme
similarity index 92%
rename from deltachat-ios.xcodeproj/xcshareddata/xcschemes/DcWidgetExtension.xcscheme
rename to deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrvWidgetExtension.xcscheme
index ee9d9b799..dcaf59f76 100644
--- a/deltachat-ios.xcodeproj/xcshareddata/xcschemes/DcWidgetExtension.xcscheme
+++ b/deltachat-ios.xcodeproj/xcshareddata/xcschemes/PrvWidgetExtension.xcscheme
@@ -17,7 +17,7 @@
@@ -31,8 +31,8 @@
@@ -76,7 +76,7 @@
@@ -85,8 +85,8 @@
@@ -98,7 +98,7 @@
diff --git a/deltachat-ios/AppDelegate.swift b/deltachat-ios/AppDelegate.swift
index 1c23a0e24..d652c1aad 100644
--- a/deltachat-ios/AppDelegate.swift
+++ b/deltachat-ios/AppDelegate.swift
@@ -143,10 +143,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
locationManager = LocationManager(dcAccounts: dcAccounts)
// Note: setMinimumBackgroundFetchInterval is deprecated in iOS 13.0+
// Background fetch is handled by BackgroundTasks framework in modern iOS
- if #available(iOS 13.0, *) {
- // Background fetch is managed by BackgroundTasks framework
- } else {
- UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIntervalMinimum)
+ if #unavailable(iOS 13.0) {
+ UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIntervalMinimum)
}
notificationManager = NotificationManager(dcAccounts: dcAccounts)
setStockTranslations()
@@ -240,7 +238,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
return true
case "mailto":
return appCoordinator.handleMailtoURL(url)
- case "chat.delta.deeplink":
+ case "chat.privitty.deeplink":
return appCoordinator.handleDeepLinkURL(url)
default:
return false
@@ -644,30 +642,18 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
let chatContext = dcContext.getChat(chatId: chatId)
// Check if message is encrypted and not a contact request
- logger.info("Privitty: Message received")
if chatContext.isProtected && !chatContext.isContactRequest {
- logger.info("Privitty: Protected message received")
-
if let messageText = dcMsg.text,
PrvContext.shared.isPrivittyMessage(messageText) {
- logger.info("Privitty: Message detected for chatId: \(chatId)")
// Process the Privitty message
let result = PrvContext.shared.processIncomingMessage(chatId: chatId, pdu: messageText, direction: "incoming")
- logger.info("Privitty: Result: \(result)")
-
if result.success {
- logger.info("Privitty: Message processed successfully")
-
// Parse response structure: data.data.pdu and data.data.chat_id (matches Android line 206)
if let data = result.data {
- logger.info("Privitty: Response data exists, keys: \(Array(data.keys))")
-
// Check if response has "data" key (matches Android: responseJson.has("data"))
if let dataDataJson = data["data"] as? [String: Any] {
- logger.info("Privitty: Found data.data, keys: \(Array(dataDataJson.keys))")
-
// Check if dataDataJson has "data" key (matches Android: dataDataJson.has("data"))
// Try data.data.data first (Android structure), then fall back to data.data (iOS structure)
var dataJson: [String: Any]?
@@ -675,20 +661,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
if let nestedData = dataDataJson["data"] as? [String: Any] {
// Triple nested: data.data.data (Android structure)
dataJson = nestedData
- logger.info("Privitty: Found data.data.data (triple nested - Android structure)")
} else if dataDataJson["pdu"] != nil {
// Double nested: data.data (iOS structure - pdu and chat_id are directly here)
dataJson = dataDataJson
- logger.info("Privitty: Using data.data directly (double nested - iOS structure)")
}
if let dataJson = dataJson {
- logger.info("Privitty: Processing dataJson, keys: \(Array(dataJson.keys))")
-
// Check if dataJson has "pdu" key (matches Android: dataJson.has("pdu"))
if let pdu = dataJson["pdu"] as? String {
- logger.info("Privitty: Found PDU, size: \(pdu.count)")
-
// Extract chat_id from response (matches Android: dataJson.has("chat_id"))
// Note: chat_id might be Int or String, handle both cases
var puntChatId: Int?
@@ -704,7 +684,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
let msg = dcContext.newMessage(viewType: DC_MSG_TEXT)
msg.text = pdu
dcContext.sendMessage(chatId: puntChatId, message: msg)
- logger.info("Privitty: Privitty PDU sent - chatId: \(chatId), puntChatId: \(puntChatId)")
} else {
logger.error("Privitty: chat ID is missing or invalid for the requested PDU")
logger.error("Privitty: chat_id value: \(String(describing: dataJson["chat_id"])), type: \(type(of: dataJson["chat_id"]))")
@@ -727,11 +706,134 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
} else {
logger.error("Privitty: Failed to process message: \(result.error ?? "Unknown error")")
}
- } else {
- logger.info("Privitty: Not a Privitty message")
}
}
}
+
+ // -- Privitty MSGS_CHANGED handling start (BCC-self messages) --
+ if event.id == DC_EVENT_MSGS_CHANGED {
+ // Check if BCC-self is enabled - only process BCC-self messages if enabled
+ let bccSelfEnabled = dcContext.getConfigInt("bcc_self") == 1
+
+ if bccSelfEnabled {
+ let msgId = event.data2Int
+ let chatId = event.data1Int
+
+ // Only process if msg_id is valid (not 0) and chat_id is valid
+ if msgId > 0 && chatId > 0 {
+ let dcMsg = dcContext.getMessage(id: msgId)
+ let showPadlock = dc_msg_get_showpadlock(dcMsg.cptr)
+
+ // Check chat type
+ let chatContext = dcContext.getChat(chatId: chatId)
+ let isContactRequest = chatContext.isContactRequest
+
+ // For DC_EVENT_MSGS_CHANGED, we process outgoing messages sent by companion devices:
+ // 1. Outgoing (messages sent out by the device - BCC-self copies are outgoing)
+ // 2. Encrypted (showPadlock == 1, required for Privitty messages)
+ // 3. No file attachment (hasFile == false, text-only messages)
+ // 4. Not a contact request
+ let isOutgoing = dcMsg.isFromCurrentSender
+ let isEncrypted = dc_msg_get_showpadlock(dcMsg.cptr) == 1
+ let hasNoFile = dcMsg.file == nil
+ let isNotContactRequest = !isContactRequest
+
+ if isOutgoing && isEncrypted && hasNoFile && isNotContactRequest {
+ // Now check if this is a Privitty sync message or regular Privitty message
+ if PrvContext.shared.isInitialized() {
+ guard let messageBytes = dcMsg.text else {
+ return
+ }
+
+ // First, check if this is a Privitty sync message (database changes)
+ if messageBytes.hasPrefix("PRIVITTY_SYNC:") {
+ let syncData = String(messageBytes.dropFirst("PRIVITTY_SYNC:".count))
+
+ do {
+ if let syncJson = try JSONSerialization.jsonObject(with: syncData.data(using: .utf8) ?? Data(), options: []) as? [String: Any] {
+ applyPrivittySyncData(syncJson)
+ }
+ } catch {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - Error processing Privitty sync data: \(error.localizedDescription)")
+ }
+ // Don't process as regular Privitty PDU message - skip rest of processing
+ } else {
+ // Check if this is a regular Privitty PDU message
+ let isPrivittyMsg = PrvContext.shared.isPrivittyMessage(messageBytes)
+
+ if isPrivittyMsg {
+ // Process the Privitty message
+ let result = PrvContext.shared.processIncomingMessage(chatId: chatId, pdu: messageBytes, direction: "incoming")
+
+ if result.success {
+ // Parse response structure: data.data.pdu and data.data.chat_id (matches Android)
+ if let data = result.data {
+ // Check if response has "data" key (matches Android: responseJson.has("data"))
+ if let dataDataJson = data["data"] as? [String: Any] {
+ // Check if dataDataJson has "data" key (matches Android: dataDataJson.has("data"))
+ // Try data.data.data first (Android structure), then fall back to data.data (iOS structure)
+ var dataJson: [String: Any]?
+
+ if let nestedData = dataDataJson["data"] as? [String: Any] {
+ // Triple nested: data.data.data (Android structure)
+ dataJson = nestedData
+ } else if dataDataJson["pdu"] != nil {
+ // Double nested: data.data (iOS structure - pdu and chat_id are directly here)
+ dataJson = dataDataJson
+ }
+
+ if let dataJson = dataJson {
+ // Check if dataJson has "pdu" key (matches Android: dataJson.has("pdu"))
+ if let pdu = dataJson["pdu"] as? String {
+ // Extract chat_id from response (matches Android: dataJson.has("chat_id"))
+ // Note: chat_id might be Int or String, handle both cases
+ var puntChatId: Int?
+ if let chatIdInt = dataJson["chat_id"] as? Int {
+ puntChatId = chatIdInt
+ } else if let chatIdStr = dataJson["chat_id"] as? String,
+ let chatIdInt = Int(chatIdStr) {
+ puntChatId = chatIdInt
+ }
+
+ if let puntChatId = puntChatId {
+ // Use chat_id from response to send PDU (matches Android: puntChatId)
+ let msg = dcContext.newMessage(viewType: DC_MSG_TEXT)
+ msg.text = pdu
+ dcContext.sendMessage(chatId: puntChatId, message: msg)
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - chat ID is missing or invalid for the requested PDU")
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - chat_id value: " +
+ "\(String(describing: dataJson["chat_id"])), " +
+ "type: \(type(of: dataJson["chat_id"]))")
+ }
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - PDU is missing in dataJson")
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - pdu value: " +
+ "\(String(describing: dataJson["pdu"])), " +
+ "type: \(type(of: dataJson["pdu"]))")
+ }
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - Could not extract dataJson from response")
+ }
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - data.data is missing or not a dictionary")
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - data[\"data\"] value: \(String(describing: data["data"])), type: \(type(of: data["data"]))")
+ }
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - Response data is nil")
+ }
+ } else {
+ logger.error("Privitty: DC_EVENT_MSGS_CHANGED - Failed to process message: \(result.error ?? "Unknown error")")
+ }
+ }
+ } // End of else block for non-sync messages
+ }
+ }
+ }
+ }
+ }
+ // -- Privitty MSGS_CHANGED handling end --
+
// -- Privitty message handling end --
eventHandler.handleEvent(event: event)
@@ -878,4 +980,89 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
}
return applicationInForeground
}
+
+ // MARK: - Privitty Helper Functions
+
+ /// Applies Privitty sync data received from companion device.
+ /// This method processes the sync JSON and updates the Privitty database accordingly.
+ ///
+ /// Expected JSON format:
+ /// {
+ /// "type": "privitty_sync",
+ /// "timestamp": 1234567890,
+ /// "action": "update_chat" | "delete_file" | "update_config" | etc.,
+ /// "data": { ... action-specific data ... }
+ /// }
+ ///
+ /// - Parameter syncData: Dictionary containing Privitty sync data
+ private func applyPrivittySyncData(_ syncData: [String: Any]) {
+ guard PrvContext.shared.isInitialized() else {
+ logger.warning("Privitty: Cannot apply Privitty sync data - Privitty not initialized")
+ return
+ }
+
+ // Validate sync message type
+ guard let type = syncData["type"] as? String, type == "privitty_sync" else {
+ logger.warning("Privitty: Invalid sync type: \(String(describing: syncData["type"]))")
+ return
+ }
+
+ guard let action = syncData["action"] as? String, !action.isEmpty else {
+ logger.error("Privitty: Privitty sync data missing 'action' field")
+ return
+ }
+
+ guard let data = syncData["data"] as? [String: Any] else {
+ logger.error("Privitty: Privitty sync data missing 'data' field")
+ return
+ }
+
+ let timestamp = syncData["timestamp"] as? Int64 ?? Int64(Date().timeIntervalSince1970)
+ logger.info("Privitty: Applying Privitty sync - action: \(action), timestamp: \(timestamp)")
+
+ // Process based on action type
+ switch action {
+ case "update_chat":
+ // Update chat in Privitty database
+ if let chatId = data["chat_id"] as? String {
+ logger.info("Privitty: Privitty sync: Updating chat \(chatId)")
+ // TODO: Call Privitty library method to update chat
+ // Example: PrvContext.shared.updateChat(chatId: chatId, data: data)
+ logger.info("Privitty: Privitty sync: Chat \(chatId) updated successfully")
+ } else {
+ logger.error("Privitty: Privitty sync: update_chat action missing chat_id")
+ }
+
+ case "delete_file":
+ // Delete file from Privitty database
+ if let fileId = data["file_id"] as? String, !fileId.isEmpty {
+ logger.info("Privitty: Privitty sync: Deleting file - id: \(fileId)")
+ // TODO: Call Privitty library method to delete file
+ // Example: PrvContext.shared.deleteFile(fileId: fileId)
+ logger.info("Privitty: Privitty sync: File deleted successfully")
+ } else if let filePath = data["file_path"] as? String, !filePath.isEmpty {
+ logger.info("Privitty: Privitty sync: Deleting file - path: \(filePath)")
+ // TODO: Call Privitty library method to delete file
+ // Example: PrvContext.shared.deleteFile(filePath: filePath)
+ logger.info("Privitty: Privitty sync: File deleted successfully")
+ } else {
+ logger.error("Privitty: Privitty sync: delete_file action missing file_id or file_path")
+ }
+
+ case "update_config":
+ // Update Privitty configuration
+ if let key = data["key"] as? String, let _ = data["value"] as? String {
+ logger.info("Privitty: Privitty sync: Updating config - key: \(key)")
+ // TODO: Call Privitty library method to update config
+ // Example: PrvContext.shared.updateConfig(key: key, value: value)
+ logger.info("Privitty: Privitty sync: Config updated successfully")
+ } else {
+ logger.error("Privitty: Privitty sync: update_config action missing key or value")
+ }
+
+ default:
+ logger.warning("Privitty: Privitty sync: Unknown action type: \(action)")
+ // You can add more action types here as needed
+ }
+ }
}
diff --git a/deltachat-ios/Chat/ChatViewController.swift b/deltachat-ios/Chat/ChatViewController.swift
index 9e4f41292..487932940 100644
--- a/deltachat-ios/Chat/ChatViewController.swift
+++ b/deltachat-ios/Chat/ChatViewController.swift
@@ -1508,17 +1508,40 @@ class ChatViewController: UITableViewController, UITableViewDropDelegate {
return
}
+ // Get chat information to determine chat type
+ let chat = dcContext.getChat(chatId: chatId)
+ let isGroupChat = chat.type == DC_CHAT_TYPE_GROUP
+ let isPeerToPeerChat = !chat.isMultiUser
let chatIdString = String(self.chatId)
let isProtected = PrvContext.shared.isChatProtected(chatId: chatIdString)
- logger.info("ATTACH CLICKED - chatId: \(chatId), isProtected: \(isProtected)")
-
- if isProtected {
- logger.info("Chat already protected - Showing attachment popup")
- showFileEncryptionOptions()
+ if isGroupChat {
+ // Group chatroom
+ if isProtected {
+ showFilesLibrary()
+ } else {
+ logger.error("Group chat not protected - This shouldn't happen for group chats")
+ // Group chats should be automatically protected when created
+ let alert = UIAlertController(
+ title: "Error",
+ message: "This group chat is not secure. Please contact support.",
+ preferredStyle: .alert
+ )
+ alert.addAction(UIAlertAction(title: "OK", style: .default))
+ present(alert, animated: true)
+ }
+ } else if isPeerToPeerChat {
+ // Regular peer-to-peer chatroom
+ if isProtected {
+ showFileEncryptionOptions()
+ } else {
+ sendPrivittyHandshake()
+ }
} else {
- logger.info("Chat not protected - Initiating handshake")
- sendPrivittyHandshake()
+ // Other chat types (mailing list, broadcast, etc.)
+ logger.info("Other chat type attachment handling - chatId: \(chatId), " +
+ "isProtected: \(isProtected)")
+ // Handle other chat types if needed
}
}
@@ -2002,25 +2025,46 @@ class ChatViewController: UITableViewController, UITableViewDropDelegate {
private func sendAttachmentMessage(viewType: Int32, filePath: String, fileName: String? = nil, message: String? = nil, quoteMessage: DcMsg? = nil) {
let msg = draft.draftMsg ?? dcContext.newMessage(viewType: viewType)
- // PRIVITTY: Encrypt file if encryption options are set
- if !attachmentExpiryTime.isEmpty {
+ // Get chat information to determine if it's a group chat
+ let chat = dcContext.getChat(chatId: chatId)
+ let isGroupChat = chat.type == DC_CHAT_TYPE_GROUP
+
+ // PRIVITTY: Encrypt file if encryption options are set OR if it's a group chat
+ if !attachmentExpiryTime.isEmpty || isGroupChat {
do {
let originalFileName = fileName ?? URL(fileURLWithPath: filePath).lastPathComponent
- guard let expiryTimeSeconds = Int(attachmentExpiryTime) else {
- throw NSError(domain: "Privitty", code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid expiry time"])
- }
+ let chatIdString = String(self.chatId)
logger.info("Privitty: Encrypting file before sending")
logger.info("Privitty: File: \(filePath)")
logger.info("Privitty: Original filename: \(originalFileName)")
+ logger.info("Privitty: Chat type - isGroupChat: \(isGroupChat)")
- let encryptionResult = PrvContext.shared.requestFileEncryption(
- filePath: filePath,
- chatId: String(self.chatId),
- allowDownload: attachmentAllowDownload,
- allowForward: attachmentAllowForward,
- accessTime: expiryTimeSeconds
- )
+ // Use different encryption methods for group vs peer-to-peer chats
+ let encryptionResult: (success: Bool, data: [String: Any]?, error: String?)
+
+ if isGroupChat {
+ // Group chatroom - use group file encryption API
+ logger.info("Privitty: Using group file encryption API")
+ encryptionResult = PrvContext.shared.processGroupFileEncryptRequest(
+ filePath: filePath,
+ groupChatId: chatIdString
+ )
+ } else {
+ // Peer-to-peer chatroom - use regular file encryption API
+ guard let expiryTimeSeconds = Int(attachmentExpiryTime) else {
+ throw NSError(domain: "Privitty", code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid expiry time"])
+ }
+
+ logger.info("Privitty: Using peer-to-peer file encryption API")
+ encryptionResult = PrvContext.shared.requestFileEncryption(
+ filePath: filePath,
+ chatId: chatIdString,
+ allowDownload: attachmentAllowDownload,
+ allowForward: attachmentAllowForward,
+ accessTime: expiryTimeSeconds
+ )
+ }
if encryptionResult.success, let data = encryptionResult.data {
guard let prvFileName = data["prv_file_name"] as? String,
@@ -3193,16 +3237,26 @@ extension ChatViewController: BaseMessageCellDelegate {
fileAccessStatusCache.removeValue(forKey: message.id)
- // Check if message is forwarded and call appropriate decryption method (matches Android line 1730-1734)
+ // Get chat type to determine decryption method
+ let chat = dcContext.getChat(chatId: chatId)
+ let isGroupChat = chat.type == DC_CHAT_TYPE_GROUP
let isForwarded = message.isForwarded
- logger.info("Privitty: Decrypting file - isForwarded: \(isForwarded)")
+
+ logger.info("Privitty: Decrypting file - isGroupChat: \(isGroupChat), isForwarded: \(isForwarded)")
let result: (success: Bool, data: [String: Any]?, error: String?)
- if isForwarded {
- // For forwarded files, use processForwardedFileDecryptRequest
+
+ if isGroupChat {
+ // For group chats, use group file decryption
+ logger.info("Privitty: Using group file decryption API")
+ result = PrvContext.shared.processGroupFileDecryptRequest(prvFile: encryptedFilePath, groupChatId: chatIdString)
+ } else if isForwarded {
+ // For forwarded files in peer-to-peer chats, use forwarded file decryption
+ logger.info("Privitty: Using forwarded file decryption API")
result = PrvContext.shared.requestForwardedFileDecryption(fileId: encryptedFilePath, forwarderPeer: chatIdString)
} else {
- // For direct files, use regular decryption
+ // For direct files in peer-to-peer chats, use regular decryption
+ logger.info("Privitty: Using peer-to-peer file decryption API")
result = PrvContext.shared.requestFileDecryption(prvFile: encryptedFilePath, chatId: chatIdString)
}
diff --git a/deltachat-ios/Controller/AccountSetup/Instand Onboarding/InstantOnboardingViewController.swift b/deltachat-ios/Controller/AccountSetup/Instand Onboarding/InstantOnboardingViewController.swift
index 9d0ed46c0..b32792ee4 100644
--- a/deltachat-ios/Controller/AccountSetup/Instand Onboarding/InstantOnboardingViewController.swift
+++ b/deltachat-ios/Controller/AccountSetup/Instand Onboarding/InstantOnboardingViewController.swift
@@ -176,7 +176,7 @@ class InstantOnboardingViewController: UIViewController {
self?.storeImageAndName()
- guard let url = URL(string: "https://delta.chat/en/chatmail") else { return }
+ guard let url = URL(string: "https://privittytech.com") else { return }
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
diff --git a/deltachat-ios/Controller/ChatListViewController.swift b/deltachat-ios/Controller/ChatListViewController.swift
index 865056bbe..190d0ace7 100644
--- a/deltachat-ios/Controller/ChatListViewController.swift
+++ b/deltachat-ios/Controller/ChatListViewController.swift
@@ -51,9 +51,10 @@ class ChatListViewController: UITableViewController {
private let archiveCell = ContactCell()
private lazy var newButton: UIBarButtonItem = {
- let image = UIImage(named: "search_icon")?.withRenderingMode(.alwaysTemplate)
+ let image = UIImage(systemName: "square.and.pencil")
let button = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(didPressNewChat))
button.tintColor = DcColors.defaultInverseColor
+ button.accessibilityLabel = String.localized("menu_new_chat")
return button
}()
@@ -168,7 +169,7 @@ class ChatListViewController: UITableViewController {
let deviceMsgLabel = "update_2_3_ios"
if !dcAccounts.isFreshlyAdded(id: dcContext.id) {
let msg = dcContext.newMessage(viewType: DC_MSG_TEXT)
- msg.text = String.localizedStringWithFormat(String.localized("update_2_0"), "https://delta.chat/donate")
+ msg.text = String.localizedStringWithFormat(String.localized("update_2_0"), "https://privittytech.com")
dcContext.addDeviceMessage(label: deviceMsgLabel, msg: msg)
} else {
dcContext.addDeviceMessage(label: deviceMsgLabel, msg: nil)
diff --git a/deltachat-ios/Controller/HelpViewController.swift b/deltachat-ios/Controller/HelpViewController.swift
index 77642ada6..bdb4324fa 100644
--- a/deltachat-ios/Controller/HelpViewController.swift
+++ b/deltachat-ios/Controller/HelpViewController.swift
@@ -155,10 +155,16 @@ final class HelpViewController: WebViewViewController {
// MARK: - WKNavigationDelegate hook (NOT override)
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
- guard let fragment else { return }
-
- let script = "window.location.hash = '\(fragment)';"
- webView.evaluateJavaScript(script, completionHandler: nil)
+ let rebrandScript = """
+ document.body.innerHTML = document.body.innerHTML
+ .replace(/Delta Chat/g, 'Privitty Chat')
+ .replace(/DeltaChat/g, 'Privitty Chat');
+ """
+ webView.evaluateJavaScript(rebrandScript, completionHandler: nil)
+ if let fragment = self.fragment {
+ let scrollToFragmentScript = "window.location.hash = '\(fragment)';"
+ webView.evaluateJavaScript(scrollToFragmentScript, completionHandler: nil)
+ }
}
// MARK: - HTML Loader
@@ -184,27 +190,21 @@ final class HelpViewController: WebViewViewController {
// MARK: - Menu
private func moreButtonMenu() -> UIMenu {
- let actions: [UIAction] = [
-
- UIAction(
- title: String.localized("delta_chat_homepage"),
- image: UIImage(systemName: "globe")
- ) { _ in
- UIApplication.shared.open(URL(string: "https://delta.chat")!)
+ let actions = [
+ UIAction(title: String.localized("delta_chat_homepage"), image: UIImage(systemName: "globe")) { _ in
+ if let url = URL(string: "https://privittytech.com") {
+ UIApplication.shared.open(url)
+ }
},
-
- UIAction(
- title: String.localized("privacy_policy"),
- image: UIImage(systemName: "hand.raised")
- ) { _ in
- UIApplication.shared.open(URL(string: "https://delta.chat/gdpr")!)
+ UIAction(title: String.localized("privacy_policy"), image: UIImage(systemName: "hand.raised")) { _ in
+ if let url = URL(string: "https://chat.privittytech.com/privacy.html") {
+ UIApplication.shared.open(url)
+ }
},
-
- UIAction(
- title: String.localized("contribute"),
- image: UIImage(systemName: "wrench.and.screwdriver")
- ) { _ in
- UIApplication.shared.open(URL(string: "https://delta.chat/contribute")!)
+ UIAction(title: String.localized("global_menu_help_report_desktop"), image: UIImage(systemName: "ant")) { _ in
+ if let url = URL(string: "https://www.privittytech.com/contact") {
+ UIApplication.shared.open(url)
+ }
},
UIAction(
diff --git a/deltachat-ios/Controller/NewGroupController.swift b/deltachat-ios/Controller/NewGroupController.swift
index fe82b8ffa..5747f408a 100644
--- a/deltachat-ios/Controller/NewGroupController.swift
+++ b/deltachat-ios/Controller/NewGroupController.swift
@@ -142,8 +142,45 @@ class NewGroupController: UITableViewController, MediaPickerDelegate {
case .createGroup: dcContext.createGroupChat(verified: allMembersVerified(), name: groupName)
}
+ // Initialize Privitty group after group creation
+ if createMode == .createGroup && groupChatId > 0 {
+ let groupChatIdStr = String(groupChatId)
+ logger.info("Initializing Privitty group - chatId: \(groupChatIdStr), name: \(groupName)")
+
+ let result = PrvContext.shared.initCreateGroup(groupChatId: groupChatIdStr, groupChatName: groupName)
+ if result.success {
+ logger.info("Privitty group initialized successfully")
+ } else {
+ logger.error("Failed to initialize Privitty group: \(result.error ?? "Unknown error")")
+ }
+ }
+
for contactId in contactIdsForGroup {
_ = dcContext.addContactToChat(chatId: groupChatId, contactId: contactId)
+
+ // Add member to Privitty group and send PDU
+ if createMode == .createGroup {
+ let contact = dcContext.getContact(id: contactId)
+ let memberEmail = contact.email
+ let memberName = contact.displayName
+ let groupChatIdStr = String(groupChatId)
+
+ logger.info("Adding member to Privitty group - email: \(memberEmail), name: \(memberName)")
+
+ if let pdu = PrvContext.shared.initAddMemberToGroup(
+ groupChatId: groupChatIdStr,
+ memberEmail: memberEmail,
+ memberName: memberName
+ ) {
+ // Send the PDU as a text message to the group
+ logger.info("Sending member addition PDU to group - chatId: \(groupChatId)")
+ let msg = dcContext.newMessage(viewType: DC_MSG_TEXT)
+ msg.text = pdu
+ dcContext.sendMessage(chatId: groupChatId, message: msg)
+ } else {
+ logger.error("Failed to generate PDU for member addition")
+ }
+ }
}
if let groupImage = changeGroupImage {
AvatarHelper.saveChatAvatar(dcContext: dcContext, image: groupImage, for: groupChatId)
diff --git a/deltachat-ios/Controller/ProfileViewController.swift b/deltachat-ios/Controller/ProfileViewController.swift
index ecbec0361..37cffb57f 100644
--- a/deltachat-ios/Controller/ProfileViewController.swift
+++ b/deltachat-ios/Controller/ProfileViewController.swift
@@ -529,13 +529,42 @@ class ProfileViewController: UITableViewController {
groupMemberViewController.onMembersSelected = { [weak self] memberIds in
guard let self else { return }
let chat = dcContext.getChat(chatId: chatId)
+
+ // Get current members before changes
+ let currentMembers = Set(chat.getContactIds(dcContext))
+ let newMemberIds = Set(memberIds)
+
+ // Find members to remove
var chatMembersToRemove = chat.getContactIds(dcContext)
chatMembersToRemove.removeAll(where: { memberIds.contains($0)})
for contactId in chatMembersToRemove {
_ = dcContext.removeContactFromChat(chatId: chatId, contactId: contactId)
}
+
+ // Add new members (both to Delta Chat and Privitty)
for contactId in memberIds {
- _ = dcContext.addContactToChat(chatId: chatId, contactId: contactId)
+ let wasAdded = dcContext.addContactToChat(chatId: chatId, contactId: contactId)
+
+ // If this is a newly added member (not already in the group), initialize in Privitty
+ if wasAdded && !currentMembers.contains(contactId) {
+ let contact = dcContext.getContact(id: contactId)
+ let memberEmail = contact.email
+ let memberName = contact.displayName
+ let chatIdStr = String(chatId)
+
+ if let pdu = PrvContext.shared.initAddMemberToGroup(
+ groupChatId: chatIdStr,
+ memberEmail: memberEmail,
+ memberName: memberName
+ ) {
+ // Send the PDU as a text message to the group
+ let msg = dcContext.newMessage(viewType: DC_MSG_TEXT)
+ msg.text = pdu
+ dcContext.sendMessage(chatId: chatId, message: msg)
+ } else {
+ logger.error("Failed to generate PDU for member addition")
+ }
+ }
}
}
navigationController?.pushViewController(groupMemberViewController, animated: true)
diff --git a/deltachat-ios/Controller/Settings/AdvancedViewController.swift b/deltachat-ios/Controller/Settings/AdvancedViewController.swift
index 10fa71070..599439348 100644
--- a/deltachat-ios/Controller/Settings/AdvancedViewController.swift
+++ b/deltachat-ios/Controller/Settings/AdvancedViewController.swift
@@ -24,7 +24,7 @@ internal final class AdvancedViewController: UITableViewController {
private var dcContext: DcContext
internal let dcAccounts: DcAccounts
- private let externalPathDescr = "File Sharing/Delta Chat"
+ private let externalPathDescr = "File Sharing/Privitty Chat"
// MARK: - cells
private lazy var showEmailsCell: UITableViewCell = {
diff --git a/deltachat-ios/Controller/Settings/ChatsAndMediaViewController.swift b/deltachat-ios/Controller/Settings/ChatsAndMediaViewController.swift
index 282c31a15..456a8e5aa 100644
--- a/deltachat-ios/Controller/Settings/ChatsAndMediaViewController.swift
+++ b/deltachat-ios/Controller/Settings/ChatsAndMediaViewController.swift
@@ -224,7 +224,7 @@ internal final class ChatsAndMediaViewController: UITableViewController {
let alert = UIAlertController(
title: String.localized("backup_successful"),
- message: String.localizedStringWithFormat(String.localized("backup_successful_explain_ios"), "\(String.localized("Files")) ➔ Delta Chat"),
+ message: String.localizedStringWithFormat(String.localized("backup_successful_explain_ios"), "\(String.localized("Files")) ➔ Privitty Chat"),
preferredStyle: .alert)
alert.addAction(UIAlertAction(title: String.localized("ok"), style: .default, handler: nil))
self.present(alert, animated: true, completion: nil)
diff --git a/deltachat-ios/Coordinator/AppCoordinator.swift b/deltachat-ios/Coordinator/AppCoordinator.swift
index 5e5414fbf..d2974869d 100644
--- a/deltachat-ios/Coordinator/AppCoordinator.swift
+++ b/deltachat-ios/Coordinator/AppCoordinator.swift
@@ -126,9 +126,9 @@ class AppCoordinator: NSObject {
}
func handleDeepLinkURL(_ url: URL) -> Bool {
- if url.absoluteString.starts(with: "chat.delta.deeplink://webxdc?") {
+ if url.absoluteString.starts(with: "chat.privitty.deeplink://webxdc?") {
return handleWebxdcDeeplink(url: url)
- } else if url.absoluteString.starts(with: "chat.delta.deeplink://chat?") {
+ } else if url.absoluteString.starts(with: "chat.privitty.deeplink://chat?") {
return handleOpenChatDeeplink(url: url)
} else {
return false
@@ -146,7 +146,7 @@ class AppCoordinator: NSObject {
let chatId = Int(parameters["chatId"] ?? "-1") ?? -1
let messageId = Int(parameters["msgId"] ?? "-1") ?? -1
- if !"\(url)".starts(with: "chat.delta.deeplink://webxdc?") ||
+ if !"\(url)".starts(with: "chat.privitty.deeplink://webxdc?") ||
messageId == -1 ||
chatId == -1 ||
accountId == -1 {
diff --git a/deltachat-ios/DC/PrvContext.swift b/deltachat-ios/DC/PrvContext.swift
index 1e4131281..f1aecdd4e 100644
--- a/deltachat-ios/DC/PrvContext.swift
+++ b/deltachat-ios/DC/PrvContext.swift
@@ -1284,6 +1284,130 @@ public class PrvContext {
logger.error("Unknown error getting file access status list")
return (false, nil, "Unknown error")
}
+
+ // MARK: - Group Chat Operations
+
+ /// Get secure connection display text from a Privitty message
+ public func getSecureConnectionDisplayText(_ message: String) -> String? {
+ guard let core = getCore() else {
+ logger.error("Cannot get secure connection display text: Core not initialized")
+ return nil
+ }
+
+ return core.getSecureConnectionDisplayText(message)
+ }
+
+ /// Initialize a Privitty group chat
+ public func initCreateGroup(groupChatId: String,
+ groupChatName: String) -> (success: Bool, data: [String: Any]?, error: String?) {
+ guard let core = getCore() else {
+ logger.error("Cannot create group: Core not initialized")
+ return (false, nil, "Core not initialized")
+ }
+
+ logger.info("Initializing Privitty group - chatId: \(groupChatId), name: \(groupChatName)")
+
+ guard let result = core.initCreateGroup(groupChatId: groupChatId, groupChatName: groupChatName) else {
+ logger.error("Failed to get group creation response")
+ return (false, nil, "No response returned")
+ }
+
+ if let success = result["success"] as? Int, success == 1 {
+ logger.info("Group created successfully in Privitty - chatId: \(groupChatId)")
+ let data = result["data"] as? [String: Any]
+ return (true, data, nil)
+ } else if let error = result["error"] as? String {
+ logger.error("Group creation failed: \(error)")
+ return (false, nil, error)
+ }
+
+ logger.error("Unknown error creating group")
+ return (false, nil, "Unknown error")
+ }
+
+ /// Add a member to a Privitty group and return the PDU to send
+ public func initAddMemberToGroup(groupChatId: String,
+ memberEmail: String,
+ memberName: String) -> String? {
+ guard let core = getCore() else {
+ logger.error("Cannot add member to group: Core not initialized")
+ return nil
+ }
+
+ guard let result = core.initAddMemberToGroup(groupId: groupChatId,
+ memberEmail: memberEmail,
+ memberName: memberName) else {
+ logger.error("Failed to get add member response")
+ return nil
+ }
+
+ if let success = result["success"] as? Int, success == 1 {
+ // Extract PDU from response
+ if let data = result["data"] as? [String: Any],
+ let pdu = data["pdu"] as? String {
+ logger.info("Member added successfully - PDU generated, length: \(pdu.count)")
+ return pdu
+ }
+ } else if let error = result["error"] as? String {
+ logger.error("Failed to add member to group: \(error)")
+ }
+
+ return nil
+ }
+
+ /// Encrypt a file for a group chat
+ public func processGroupFileEncryptRequest(filePath: String,
+ groupChatId: String) -> (success: Bool, data: [String: Any]?, error: String?) {
+ guard let core = getCore() else {
+ logger.error("Cannot encrypt group file: Core not initialized")
+ return (false, nil, "Core not initialized")
+ }
+
+ guard let result = core.processGroupFileEncryptRequest(filePath: filePath,
+ groupChatId: groupChatId) else {
+ logger.error("Failed to get group file encryption response")
+ return (false, nil, "No response returned")
+ }
+
+ if let success = result["success"] as? Int, success == 1 {
+ let data = result["data"] as? [String: Any]
+ logger.info("Group file encrypted successfully")
+ return (true, data, nil)
+ } else if let error = result["error"] as? String {
+ logger.error("Group file encryption failed: \(error)")
+ return (false, nil, error)
+ }
+
+ logger.error("Unknown error encrypting group file")
+ return (false, nil, "Unknown error")
+ }
+
+ /// Decrypt a .prv file from a group chat
+ public func processGroupFileDecryptRequest(prvFile: String,
+ groupChatId: String) -> (success: Bool, data: [String: Any]?, error: String?) {
+ guard let core = getCore() else {
+ logger.error("Cannot decrypt group file: Core not initialized")
+ return (false, nil, "Core not initialized")
+ }
+
+ guard let result = core.processGroupFileDecryptRequest(prvFile: prvFile,
+ groupChatId: groupChatId) else {
+ logger.error("Failed to get group file decryption response")
+ return (false, nil, "No response returned")
+ }
+
+ if let success = result["success"] as? Int, success == 1 {
+ let data = result["data"] as? [String: Any]
+ logger.info("Group file decrypted successfully")
+ return (true, data, nil)
+ } else if let error = result["error"] as? String {
+ logger.error("Group file decryption failed: \(error)")
+ return (false, nil, error)
+ }
+
+ logger.error("Unknown error decrypting group file")
+ return (false, nil, "Unknown error")
+ }
// MARK: - DEBUG: Database Export
#if DEBUG
diff --git a/deltachat-ios/Extensions/UserDefaults+Widgets.swift b/deltachat-ios/Extensions/UserDefaults+Widgets.swift
index cbfd318c4..06ad5802d 100644
--- a/deltachat-ios/Extensions/UserDefaults+Widgets.swift
+++ b/deltachat-ios/Extensions/UserDefaults+Widgets.swift
@@ -60,7 +60,7 @@ extension UserDefaults {
guard let jsonData = try? JSONEncoder().encode(widgets) else { return }
setValue(jsonData, forKey: Self.shortcutsKey)
- WidgetCenter.shared.reloadTimelines(ofKind: "DcWidget")
+ WidgetCenter.shared.reloadTimelines(ofKind: "PrvWidget")
}
func addWebxdcToHomescreenWidget(accountId: Int, messageId: Int) {
diff --git a/deltachat-ios/Helper/LocationManager.swift b/deltachat-ios/Helper/LocationManager.swift
index 7c7d4600f..d776c7922 100644
--- a/deltachat-ios/Helper/LocationManager.swift
+++ b/deltachat-ios/Helper/LocationManager.swift
@@ -17,8 +17,11 @@ class LocationManager: NSObject, CLLocationManagerDelegate {
locationManager = CLLocationManager()
locationManager.distanceFilter = 25
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
- locationManager.allowsBackgroundLocationUpdates = true
- locationManager.pausesLocationUpdatesAutomatically = false
+ let backgroundModes = Bundle.main.infoDictionary?["UIBackgroundModes"] as? [String] ?? []
+ if backgroundModes.contains("location") {
+ locationManager.allowsBackgroundLocationUpdates = true
+ locationManager.pausesLocationUpdatesAutomatically = false
+ }
locationManager.activityType = CLActivityType.fitness
super.init()
locationManager.delegate = self
diff --git a/deltachat-ios/Info.plist b/deltachat-ios/Info.plist
index 0ab1667e8..6d7afc105 100644
--- a/deltachat-ios/Info.plist
+++ b/deltachat-ios/Info.plist
@@ -24,10 +24,10 @@
CFBundleTypeRole
Editor
CFBundleURLName
- chat.delta.qr
+ chat.privitty.qr
CFBundleURLSchemes
- chat.delta
+ chat.privitty
openpgp4fpr
dcaccount
dclogin
@@ -37,7 +37,7 @@
CFBundleTypeRole
Editor
CFBundleURLName
- chat.delta.mailto
+ chat.privitty.mailto
CFBundleURLSchemes
mailto
@@ -47,10 +47,10 @@
CFBundleTypeRole
Editor
CFBundleURLName
- chat.delta.deeplink
+ chat.privitty.deeplink
CFBundleURLSchemes
- chat.delta.deeplink
+ chat.privitty.deeplink
@@ -87,9 +87,7 @@
UIBackgroundModes
fetch
- location
remote-notification
- audio
UIFileSharingEnabled
diff --git a/deltachat-ios/ar.lproj/Localizable.strings b/deltachat-ios/ar.lproj/Localizable.strings
index c5b8ffece..cdb0f5ecc 100644
--- a/deltachat-ios/ar.lproj/Localizable.strings
+++ b/deltachat-ios/ar.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "موافق";
"cancel" = "إلغاء";
"yes" = "نعم";
diff --git a/deltachat-ios/az.lproj/Localizable.strings b/deltachat-ios/az.lproj/Localizable.strings
index 773e76a7a..3228b4877 100644
--- a/deltachat-ios/az.lproj/Localizable.strings
+++ b/deltachat-ios/az.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Imtina";
"yes" = "Bəli";
diff --git a/deltachat-ios/bg.lproj/Localizable.strings b/deltachat-ios/bg.lproj/Localizable.strings
index b33710cd6..567cc6157 100644
--- a/deltachat-ios/bg.lproj/Localizable.strings
+++ b/deltachat-ios/bg.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Отказ";
"clear_search" = "Изчистване на търсенето";
@@ -390,7 +390,7 @@
"multidevice_title" = "Добавяне на допълнително устройство";
"multidevice_same_network_hint" = "Уверете се, че и двете устройства са свързани към една и съща Wi-Fi или друга мрежа";
"multidevice_this_creates_a_qr_code" = "Ще бъде създаден QR код, чрез сканиране на който другото устройство може да копира акаунта.";
-"multidevice_install_dc_on_other_device" = "Инсталирайте Delta Chat на другото Ви устройство (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Инсталирайте Delta Chat на другото Ви устройство (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Стартирайте Delta Chat, докоснете \"Добавяне като допълнително устройство\" и сканирайте кода, показан тук";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -747,7 +747,7 @@
"devicemsg_storage_exceeding" = "⚠️ Мястото за съхранение, предоставено от Вашия доставчик, скоро ще бъде изчерпано:%1$@%% вече са използвани.\n\nМоже да нямате възможност да получавате съобщения, ако мястото за съхранение е заето напълно.\n\n👉 Моля, проверете дали не бихте могли да изтриете стари данни през уеб интерфейса на доставчика и обмислете дали да не включите \"Настройки / Изтриване на старите съобщения\". Можете по всяко време да проверите текущо използваното място за съхранение в \"Настройки / Свързаност\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Изглежда датата и часът на Вашето устройство са неточни (%1$@).\n\nНастройте часовника ⏰🔧, за да имате сигурност, че Вашите съобщения се получават правилно.";
-"devicemsg_update_reminder" = "⚠️ Възможно е версията на Вашия Delta Chat да е неактуална.\n\nТова може да създаде проблеми, тъй като Вашите чат партньори използват по-нови версии; освен това Ви липсват най-новите възможности.😳\nМоля, проверете за актуализации на https://get.delta.chat или в ползвания от Вас магазин за приложения.";
+"devicemsg_update_reminder" = "⚠️ Възможно е версията на Вашия Delta Chat да е неактуална.\n\nТова може да създаде проблеми, тъй като Вашите чат партньори използват по-нови версии; освен това Ви липсват най-новите възможности.😳\nМоля, проверете за актуализации на https://privittytech.com или в ползвания от Вас магазин за приложения.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Отключете, за да продължите";
// qr code stuff
diff --git a/deltachat-ios/ca.lproj/Localizable.strings b/deltachat-ios/ca.lproj/Localizable.strings
index d26bed29f..1f9538189 100644
--- a/deltachat-ios/ca.lproj/Localizable.strings
+++ b/deltachat-ios/ca.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "D\'acord";
"cancel" = "Cancel·la";
"clear_search" = "Neteja la cerca";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Afegeix a la pantalla d\'inici";
"donate" = "Feu un donatiu";
-"donate_device_msg" = "❤️ Sembla que estàs gaudint de Delta Chat!\n\nConsidera fer una donació per ajudar a garantir que Delta Chat segueixi sent gratuït per a tothom.\n\nTot i que Delta Chat és gratuït i de codi obert, el desenvolupament té un cost.\n\nAjuda’ns a mantenir Delta Chat independent i a fer-lo encara millor en el futur.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Sembla que estàs gaudint de Privitty Chat!\n\nConsidera fer una donació per ajudar a garantir que Delta Chat segueixi sent gratuït per a tothom.\n\nTot i que Delta Chat és gratuït i de codi obert, el desenvolupament té un cost.\n\nAjuda’ns a mantenir Delta Chat independent i a fer-lo encara millor en el futur.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Silencia 1 hora";
"mute_for_eight_hours" = "Silencia 8 hores";
"mute_for_one_day" = "Silencia 1 dia";
@@ -470,7 +470,7 @@
"multidevice_title" = "Afegeix un segon dispositiu";
"multidevice_same_network_hint" = "Assegureu-vos que els dos dispositius estan a la mateixa Wi-Fi o xarxa";
"multidevice_this_creates_a_qr_code" = "Això crea un codi QR que es pot escanejar en un segon dispositiu per a copiar el perfil.";
-"multidevice_install_dc_on_other_device" = "Instal·leu Delta Chat en el vostre altre dispositiu (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instal·leu Delta Chat en el vostre altre dispositiu (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Inicieu Delta Chat, toqueu «Ja tinc un perfil / Afegeix un segon dispositiu» i escanegeu el codi que es mostra aquí.";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Esteu a punt de quedar-vos sense espai d\'emmagatzematge al vostre proveïdor: ja esteu utilitzant %1$@%% .\n\nPodríeu deixar de rebre missatges si s\'emplena.\n\n👉 Reviseu a la interfície web del proveïdor si podeu esborrar dades antigues i considereu habilitar \"Preferències / Xats i multimèdia / Esborra els missatges antics\". Podeu veure sempre el nivell d\'ocupació a \"Preferències / Connectivitat\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ La data o l\'hora del vostre dispositiu no semblen correctes (%1$@).\n\nAdjusteu el rellotge ⏰🔧 per a assegurar que els missatges es reben correctament.";
-"devicemsg_update_reminder" = "⚠️ Delta Chat podría no estar actualitzat.\n\n Això us podria causar problemes perquè els vostres companys de xat utilitzen versions més noves i no teniu les últimes funcionalitats 😳\nComproveu a https://get.delta.chat o a la vostra botiga d\'aplicacions si hi ha actualitzacions.";
+"devicemsg_update_reminder" = "⚠️ Delta Chat podría no estar actualitzat.\n\n Això us podria causar problemes perquè els vostres companys de xat utilitzen versions més noves i no teniu les últimes funcionalitats 😳\nComproveu a https://privittytech.com o a la vostra botiga d\'aplicacions si hi ha actualitzacions.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Desbloca per a continuar";
// qr code stuff
diff --git a/deltachat-ios/cs.lproj/Localizable.strings b/deltachat-ios/cs.lproj/Localizable.strings
index 7247db92c..84895fcf9 100644
--- a/deltachat-ios/cs.lproj/Localizable.strings
+++ b/deltachat-ios/cs.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Zrušit";
"clear_search" = "Zrušit vyhledávání";
@@ -440,7 +440,7 @@
"multidevice_title" = "Přidat další zařízení";
"multidevice_same_network_hint" = "Ujistěte se, že jsou obě zařízení na stejné Wi-Fi či síti";
"multidevice_this_creates_a_qr_code" = "Tímto bude vytvořen QR kód, který můžete naskenovat dalším zařízením ke zkopírování profilu.\n\nUjistěte se, že následující obrazovku neuvidí žádný nechtěný přihlížející či kamera.";
-"multidevice_install_dc_on_other_device" = "Nainstalujte si Delta Chat do druhého zařízení (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Nainstalujte si Delta Chat do druhého zařízení (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Spusťte Delta Chat, klepněte na „Již mám svůj profil / Přidat jako další zařízení“ a naskenujte následující kód";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -825,7 +825,7 @@
"devicemsg_storage_exceeding" = "⚠️ Úložiště u vašeho poskytovatele je téměř vyčerpané: %1$@ %% je již využito.\n\nPokud se úložiště zaplní, nebudete moci přijímat zprávy.\n\n👉 Zkuste smazat stará data ve webovém prostředí poskytovatele a zvažte povolení volby \"Nastavení / Chaty a multimédia / Mazat staré zprávy\". Aktuální využití úložiště můžete kdykoliv zkontrolovat v \"Nastavení / Připojení\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Datum a čas na vašem zařízení se zdají být nepřesné (%1$@).\n\nUpravte si čas ⏰🔧, abyste mohli přijímat své zprávy.";
-"devicemsg_update_reminder" = "⚠️ Vaše verze Delta Chatu může být zastaralá.\n\nTo může způsobit problémy, protože vaši partneři v chatu používají novější verze – a vám chybí nejnovější funkce 😳\nAktualizace najdete na https://get.delta.chat nebo v obchodě s aplikacemi.";
+"devicemsg_update_reminder" = "⚠️ Vaše verze Delta Chatu může být zastaralá.\n\nTo může způsobit problémy, protože vaši partneři v chatu používají novější verze – a vám chybí nejnovější funkce 😳\nAktualizace najdete na https://privittytech.com nebo v obchodě s aplikacemi.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Pro pokračování odemkněte";
// qr code stuff
diff --git a/deltachat-ios/da.lproj/Localizable.strings b/deltachat-ios/da.lproj/Localizable.strings
index ffa0f8613..b13336ded 100644
--- a/deltachat-ios/da.lproj/Localizable.strings
+++ b/deltachat-ios/da.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Annuller";
"clear_search" = "Ryd søgning";
diff --git a/deltachat-ios/de.lproj/Localizable.strings b/deltachat-ios/de.lproj/Localizable.strings
index cea7cffab..6f887233c 100644
--- a/deltachat-ios/de.lproj/Localizable.strings
+++ b/deltachat-ios/de.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Abbruch";
"clear_search" = "Suche löschen";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Zum Startbildschirm hinzufügen";
"donate" = "Spenden";
-"donate_device_msg" = "❤️ Delta Chat gefällt Ihnen anscheinend sehr gut!\n\nBitte spenden Sie, damit Delta Chat weiterhin kostenlos bleibt.\n\nDelta Chat ist zwar kostenlos und Open Source, die Entwicklung kostet jedoch Geld. Helfen Sie uns, Delta Chat unabhängig zu halten und in Zukunft noch besser zu machen.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Privitty Chat gefällt Ihnen anscheinend sehr gut!\n\nBitte spenden Sie, damit Delta Chat weiterhin kostenlos bleibt.\n\nDelta Chat ist zwar kostenlos und Open Source, die Entwicklung kostet jedoch Geld. Helfen Sie uns, Delta Chat unabhängig zu halten und in Zukunft noch besser zu machen.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Stumm für 1 Stunde";
"mute_for_eight_hours" = "Stumm für 8 Stunden";
"mute_for_one_day" = "Stumm für 1 Tag";
@@ -470,7 +470,7 @@
"multidevice_title" = "Zweitgerät hinzufügen";
"multidevice_same_network_hint" = "Beide Geräte müssen im selben Wi-Fi oder Netzwerk sein.";
"multidevice_this_creates_a_qr_code" = "Erstellt einen QR-Code, den ein Zweitgerät scannen kann, um das Profil zu kopieren.\n\nStellen Sie sicher, dass keine unerwünschten Beobachter oder Kameras den folgenden Bildschirm sehen können.";
-"multidevice_install_dc_on_other_device" = "Delta Chat auf dem anderen Gerät installieren (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Delta Chat auf dem anderen Gerät installieren (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Delta Chat starten, \"Ich habe bereits ein Profil / Als Zweitgerät hinzufügen\" wählen und den QR-Code scannen";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Der Speicherplatz Ihres Anbieters ist bald erschöpft; bereits %1$@%% sind verbraucht.\n\nSie können möglicherweise keine Nachrichten mehr empfangen, wenn der Speicherplatz komplett verbraucht ist.\n\n👉 Bitte prüfen Sie, ob Sie alte Daten im Webinterface des Anbieters löschen können, und erwägen Sie, \"Einstellungen / Chats und Medien / Alte Nachrichten löschen\" zu aktivieren. Den aktuellen Speicherverbrauch können Sie jederzeit unter \"Einstellungen / Verbindungsstatus\" überprüfen.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Ihr Gerät scheint ein falsches Datum oder eine falsche Uhrzeit (%1$@) zu verwenden.\n\nStellen Sie Ihre Uhr ⏰🔧 richtig ein, um sicherzustellen, dass Ihre Nachrichten korrekt empfangen werden.";
-"devicemsg_update_reminder" = "⚠️ Ihre Delta-Chat-Version ist möglicherweise veraltet.\n\nDies kann zu Problemen führen, wenn Ihre Chat-PartnerInnen neuere Versionen verwenden - und Ihnen die neuesten Funktionen fehlen. 😳\nBitte überprüfen Sie https://get.delta.chat oder Ihren App-Store auf Updates.";
+"devicemsg_update_reminder" = "⚠️ Ihre Delta-Chat-Version ist möglicherweise veraltet.\n\nDies kann zu Problemen führen, wenn Ihre Chat-PartnerInnen neuere Versionen verwenden - und Ihnen die neuesten Funktionen fehlen. 😳\nBitte überprüfen Sie https://privittytech.com oder Ihren App-Store auf Updates.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Entsperren zum Fortfahren";
// qr code stuff
diff --git a/deltachat-ios/deltachat-ios-debug.entitlements b/deltachat-ios/deltachat-ios-debug.entitlements
new file mode 100644
index 000000000..1978421d6
--- /dev/null
+++ b/deltachat-ios/deltachat-ios-debug.entitlements
@@ -0,0 +1,24 @@
+
+
+
+
+ aps-environment
+ development
+ com.apple.developer.associated-domains
+
+ applinks:i.privittytech.com
+
+ com.apple.developer.icloud-container-identifiers
+
+ com.apple.developer.ubiquity-kvstore-identifier
+ $(TeamIdentifierPrefix)$(CFBundleIdentifier)
+ com.apple.security.application-groups
+
+ group.chat.privitty.ios
+
+ keychain-access-groups
+
+ $(AppIdentifierPrefix)group.chat.privitty.ios
+
+
+
diff --git a/deltachat-ios/deltachat-ios.entitlements b/deltachat-ios/deltachat-ios.entitlements
index 1978421d6..52004becd 100644
--- a/deltachat-ios/deltachat-ios.entitlements
+++ b/deltachat-ios/deltachat-ios.entitlements
@@ -3,7 +3,7 @@
aps-environment
- development
+ production
com.apple.developer.associated-domains
applinks:i.privittytech.com
diff --git a/deltachat-ios/el.lproj/Localizable.strings b/deltachat-ios/el.lproj/Localizable.strings
index 83d1b7d6f..cfa9af026 100644
--- a/deltachat-ios/el.lproj/Localizable.strings
+++ b/deltachat-ios/el.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Εντάξει";
"cancel" = "Ακύρωση";
"clear_search" = "Αναζήτηση";
@@ -633,7 +633,7 @@
"devicemsg_storage_exceeding" = "⚠️ Ο αποθηκευτικός χώρος του παρόχου σας πρόκειται να εξαντληθεί: %1$@ %% χρησιμοποιούνται ήδη.\n\nΕνδέχεται να μην μπορείτε να λαμβάνετε μηνύματα εάν ο χώρος αποθήκευσης είναι πλήρης.\n\n👉 Ελέγξτε εάν μπορείτε να διαγράψετε παλιά δεδομένα στη διεπαφή ιστού του παρόχου και εξετάστε το ενδεχόμενο ενεργοποίηση \"Ρυθμίσεις / Διαγραφή παλαιών μηνυμάτων\". Μπορείτε να ελέγξετε την τρέχουσα χρήση αποθηκευτικού χώρου ανά πάσα στιγμή στις \"Ρυθμίσεις / Συνδεσιμότητα\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Η ημερομηνία ή η ώρα στη συσκευή σας φαίνεται να είναι μην είναι ακριβής (%1$@).\n\nΠροσαρμόστε το ρολόι σας ⏰🔧 για να βεβαιωθείτε ότι τα μηνύματά σας λαμβάνονται σωστά.";
-"devicemsg_update_reminder" = "⚠️ Η έκδοση Delta Chat μπορεί να είναι παλιά.\n\nΑυτό μπορεί να προκαλέσει προβλήματα επειδή οι συνεργάτες συνομιλίας σας χρησιμοποιούν νεότερες εκδόσεις - και δεν έχετε τις πιο πρόσφατες λειτουργίες 😳\nΕλέγξτε τη https://get.delta.chat ή το κατάστημα εφαρμογών σας για ενημερώσεις .";
+"devicemsg_update_reminder" = "⚠️ Η έκδοση Delta Chat μπορεί να είναι παλιά.\n\nΑυτό μπορεί να προκαλέσει προβλήματα επειδή οι συνεργάτες συνομιλίας σας χρησιμοποιούν νεότερες εκδόσεις - και δεν έχετε τις πιο πρόσφατες λειτουργίες 😳\nΕλέγξτε τη https://privittytech.com ή το κατάστημα εφαρμογών σας για ενημερώσεις .";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Εισαγάγετε το μυστικό που έχει οριστεί από το σύστημά σας για να συνεχίσετε.";
// qr code stuff
diff --git a/deltachat-ios/en.lproj/Localizable.strings b/deltachat-ios/en.lproj/Localizable.strings
index a17990460..af6908478 100644
--- a/deltachat-ios/en.lproj/Localizable.strings
+++ b/deltachat-ios/en.lproj/Localizable.strings
@@ -19,7 +19,7 @@
"privitty_status_unknown" = "Status Unknown";
"privitty_no_expiry" = "No Expiry";
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Cancel";
"clear_search" = "Clear Search";
@@ -253,7 +253,7 @@
"share_invite_link_explain" = "Anyone with this link can view your profile and start a chat with you. Only share it with people you trust.";
"invite_friends" = "Invite Friends";
// %1$s is replaced by the user's invitation link ("https://i.delta.chat/...")
-"invite_friends_text" = "Contact me on Delta Chat:\n%1$@";
+"invite_friends_text" = "Contact me on Privitty Chat:\n%1$@";
"menu_copy_selection_to_clipboard" = "Copy Selection";
"menu_copy_link_to_clipboard" = "Copy Link";
"menu_copy_text_to_clipboard" = "Copy Text";
@@ -331,7 +331,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Add to Home Screen";
"donate" = "Donate";
-"donate_device_msg" = "❤️ Seems you\'re enjoying Delta Chat!\n\nPlease consider donating to help ensure that Delta Chat stays free for everyone.\n\nWhile Delta Chat is free to use and open source, development costs money. Help us to keep Delta Chat independent and make it even more awesome in the future.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Seems you\'re enjoying Privitty Chat!\n\nPrivitty Chat is free to use. Help us keep it secure, private, and free for everyone by sharing it with people who care about their privacy.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Mute for 1 hour";
"mute_for_eight_hours" = "Mute for 8 hours";
"mute_for_one_day" = "Mute for 1 day";
@@ -495,15 +495,15 @@
"multidevice_title" = "Add Second Device";
"multidevice_same_network_hint" = "Make sure both devices are on the same Wi-Fi or network";
"multidevice_this_creates_a_qr_code" = "This creates a QR code that the second device can scan to copy the profile.\n\nMake sure no unwanted observer or camera can see the following screen.";
-"multidevice_install_dc_on_other_device" = "Install Delta Chat on your other device (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Install Privitty Chat on your other device (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
-"multidevice_tap_scan_on_other_device" = "Start Delta Chat, tap “I Already Have a Profile / Add as Second Device” and scan the code shown here";
+"multidevice_tap_scan_on_other_device" = "Start Privitty Chat, tap “I Already Have a Profile / Add as Second Device” and scan the code shown here";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
"multidevice_qr_subtitle" = "Scan to set up second device for %1$@";
"multidevice_receiver_title" = "Add as Second Device";
"multidevice_open_settings_on_other_device" = "On the first device, go to “Settings / Add Second Device“ and scan the code shown there";
"multidevice_receiver_scanning_ask" = "Copy the profile from the other device to this device?";
-"multidevice_receiver_needs_update" = "The profile you want to import is from a newer Delta Chat version.\n\nTo continue setting up second device, please update this device to the latest version of Delta Chat.";
+"multidevice_receiver_needs_update" = "The profile you want to import is from a newer Privitty Chat version.\n\nTo continue setting up second device, please update this device to the latest version of Privitty Chat.";
"multidevice_abort" = "Abort setting up second device?";
"multidevice_abort_will_invalidate_copied_qr" = "This will invalidate the QR code copied to clipboard.";
"multidevice_transfer_done_devicemsg" = "ℹ️ Profile transferred to your second device.";
@@ -567,7 +567,7 @@
"login_header" = "Log into your E-Mail Account";
"login_explain" = "Log in with an existing e-mail account";
"login_subheader" = "For known e-mail providers additional settings are set up automatically. Sometimes IMAP needs to be enabled in the web settings. Consult your e-mail provider or friends for help.";
-"login_no_servers_hint" = "Delta Chat does not collect user data, everything stays on your device.";
+"login_no_servers_hint" = "Privitty Chat does not collect user data, everything stays on your device.";
"login_inbox" = "Inbox";
"login_imap_login" = "IMAP Login Name";
"login_imap_server" = "IMAP Server";
@@ -594,7 +594,7 @@
"proxy_share_explain" = "Your friends can add this proxy by scanning the QR code.";
"proxy_share_link" = "Share Link";
"login_info_oauth2_title" = "Continue with simplified setup?";
-"login_info_oauth2_text" = "The entered address supports a simplified setup (OAuth 2.0).\n\nIn the next step, please allow Delta Chat to send and receive messages.\n\nDelta Chat does not collect user data, everything stays on your device.";
+"login_info_oauth2_text" = "The entered address supports a simplified setup (OAuth 2.0).\n\nIn the next step, please allow Privitty Chat to send and receive messages.\n\nPrivitty Chat does not collect user data, everything stays on your device.";
"login_certificate_checks" = "Certificate Checks";
"login_error_mail" = "Please enter a valid e-mail address";
"login_error_server" = "Please enter a valid server / IP address";
@@ -685,7 +685,7 @@
"pref_encryption" = "Encryption";
"pref_manage_keys" = "Manage Keys";
"pref_use_system_emoji" = "Use System Emoji";
-"pref_use_system_emoji_explain" = "Turn off Delta Chat\'s built-in emoji support";
+"pref_use_system_emoji_explain" = "Turn off Privitty Chat\'s built-in emoji support";
"pref_show_system_contacts" = "Read System Address Book";
"pref_show_system_contacts_explain" = "Offer to create chats with contacts from the address book.";
"pref_chats" = "Chats";
@@ -720,10 +720,10 @@
"pref_watch_sent_folder" = "Watch Sent Folder";
"pref_send_copy_to_self" = "Send Copy to Self";
"pref_send_copy_to_self_explain" = "Required when using this account on multiple devices.";
-"pref_auto_folder_moves" = "Move automatically to DeltaChat Folder";
+"pref_auto_folder_moves" = "Move automatically to Privitty Chat Folder";
"pref_auto_folder_moves_explain" = "Chat conversations are moved to avoid cluttering the Inbox";
-"pref_only_fetch_mvbox_title" = "Only Fetch from DeltaChat Folder";
-"pref_only_fetch_mvbox_explain" = "Ignore other folders. Requires your server to move chat messages to the DeltaChat folder.";
+"pref_only_fetch_mvbox_title" = "Only Fetch from Privitty Chat Folder";
+"pref_only_fetch_mvbox_explain" = "Ignore other folders. Requires your server to move chat messages to the Privitty Chat folder.";
"pref_show_emails" = "Show Classic E-Mails";
"pref_show_emails_no" = "No, chats only";
"pref_show_emails_accepted_contacts" = "For accepted contacts";
@@ -755,7 +755,7 @@
"pref_edit_profile" = "Edit Profile";
"disable_imap_idle" = "Disable IMAP IDLE";
"disable_imap_idle_explain" = "Do not use IMAP IDLE extension even if the server supports it. Enabling this option will delay message retrieval, enable it only for testing.";
-"send_stats_to_devs" = "Send statistics to Delta Chat\'s developers";
+"send_stats_to_devs" = "Send statistics to Privitty Chat\'s developers";
// Emoji picker and categories
"emoji_search_results" = "Search Results";
"emoji_not_found" = "No emoji found";
@@ -802,12 +802,12 @@
"autodel_after_1_year" = "After 1 year";
// autocrypt
"autocrypt_send_asm_title" = "Send Autocrypt Setup Message";
-"autocrypt_send_asm_explain_before" = "An Autocrypt Setup Message securely shares your end-to-end setup with other Autocrypt-compliant apps.\n\nIf you use Delta Chat on the other device as well, use \"Settings / Add Second Device\" instead.";
+"autocrypt_send_asm_explain_before" = "An Autocrypt Setup Message securely shares your end-to-end setup with other Autocrypt-compliant apps.\n\nIf you use Privitty Chat on the other device as well, use \"Settings / Add Second Device\" instead.";
"autocrypt_send_asm_button" = "Send Autocrypt Setup Message";
"autocrypt_send_asm_explain_after" = "Your setup has been sent to yourself. Switch to the other device and open the setup message. You should be asked for a setup code. Enter the following digits:";
"autocrypt_prefer_e2ee" = "Prefer End-To-End Encryption";
// system messages
-"systemmsg_cannot_decrypt" = "This message cannot be decrypted.\n\n• It might already help to simply reply to this message and ask the sender to send the message again.\n\n• If you just re-installed Delta Chat then it is best if you re-setup Delta Chat now and choose \"Add as second device\" or import a backup.";
+"systemmsg_cannot_decrypt" = "This message cannot be decrypted.\n\n• It might already help to simply reply to this message and ask the sender to send the message again.\n\n• If you just re-installed Privitty Chat then it is best if you re-setup Privitty Chat now and choose \"Add as second device\" or import a backup.";
"systemmsg_unknown_sender_for_chat" = "Unknown sender for this chat. See \'info\' for more details.";
"systemmsg_subject_for_new_contact" = "Message from %1$@";
"systemmsg_failed_sending_to" = "Failed to send message to %1$@.";
@@ -886,7 +886,7 @@
"devicemsg_storage_exceeding" = "⚠️ Your provider\'s storage is about to run out: %1$@%% are already used.\n\nYou may not be able to receive messages if storage is full.\n\n👉 Please check if you can delete old data in the provider\'s web interface and consider enabling \"Settings / Chats and Media / Delete Old Messages\". You can check your current storage usage anytime at \"Settings / Connectivity\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Date or time on your device seems to be inaccurate (%1$@).\n\nAdjust your clock ⏰🔧 to ensure your messages are received correctly.";
-"devicemsg_update_reminder" = "⚠️ Your Delta Chat version might be outdated.\n\nThis may cause problems because your chat partners use newer versions - and you are missing the latest features 😳\nPlease check https://get.delta.chat or your app store for updates.";
+"devicemsg_update_reminder" = "⚠️ Your Privitty Chat version might be outdated.\n\nThis may cause problems because your chat partners use newer versions - and you are missing the latest features 😳\nPlease check https://privittytech.com or your app store for updates.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Unlock to continue";
// qr code stuff
@@ -965,7 +965,7 @@
"perm_explain_access_to_mic_denied" = "To send audio messages, go to system or app settings, select \"Permissions\" or \"Privacy & Security\", and enable \"Microphone\".";
"perm_explain_access_to_storage_denied" = "To receive or send files, go to the app settings, select \"Permissions\", and enable \"Storage\".";
"perm_explain_access_to_location_denied" = "To attach a location, go to the app settings, select \"Permissions\", and enable \"Location\".";
-"perm_explain_access_to_notifications_denied" = "To receive notifications, go to \"System Settings / Apps / Delta Chat\" and enable \"Notifications\".";
+"perm_explain_access_to_notifications_denied" = "To receive notifications, go to \"System Settings / Apps / Privitty Chat\" and enable \"Notifications\".";
// ImageEditorHud
"ImageEditorHud_draw_anywhere_to_blur" = "Draw anywhere to blur";
"ImageEditorHud_add_text" = "Add Text";
@@ -976,9 +976,9 @@
"ImageEditorHud_flip" = "Flip";
"ImageEditorHud_rotate" = "Rotate";
// strings introduced on desktop. we want to share strings between the os, in general, please do not add generic strings here
-"about_offical_app_desktop" = "This is the official Delta Chat Desktop app.";
+"about_offical_app_desktop" = "This is the official Privitty Chat Desktop app.";
"about_licensed_under_desktop" = "This software is licensed under GNU GPL version 3 and the source code is available on GitHub.";
-"welcome_desktop" = "Welcome to Delta Chat";
+"welcome_desktop" = "Welcome to Privitty Chat";
"global_menu_preferences_language_desktop" = "Language";
"global_menu_file_desktop" = "File";
"global_menu_file_quit_desktop" = "Quit";
@@ -993,11 +993,11 @@
"global_menu_view_developer_desktop" = "Developer";
"global_menu_view_developer_tools_desktop" = "Developer Tools";
"global_menu_help_desktop" = "Help";
-"delta_chat_homepage" = "Delta Chat Homepage";
+"delta_chat_homepage" = "Privitty Chat Homepage";
"contribute" = "Contribute";
"global_menu_help_report_desktop" = "Report an Issue";
-"global_menu_help_about_desktop" = "About Delta Chat";
-"global_menu_file_open_desktop" = "Open Delta Chat";
+"global_menu_help_about_desktop" = "About Privitty Chat";
+"global_menu_file_open_desktop" = "Open Privitty Chat";
"global_menu_minimize_to_tray" = "Minimize";
"no_chat_selected_suggestion_desktop" = "Select a chat or create a new chat";
"write_message_desktop" = "Write a message";
@@ -1018,7 +1018,7 @@
"message_detail_received_desktop" = "received";
"menu.view.developer.open.log.folder" = "Open the Log Folder";
"menu.view.developer.open.current.log.file" = "Open Current Logfile";
-"explain_desktop_minimized_disabled_tray_pref" = "Tray icon cannot be disabled as Delta Chat was started with the --minimized option.";
+"explain_desktop_minimized_disabled_tray_pref" = "Tray icon cannot be disabled as Privitty Chat was started with the --minimized option.";
"no_spellcheck_suggestions_found" = "No spelling suggestions found.";
"show_window" = "Show Window";
// title of the "keybindings" dialog (for the keybindings names as such, where possible the normal command strings are used)
@@ -1056,7 +1056,7 @@
"import_device_contacts" = "Import device contacts";
"import_device_contacts_hint" = "To chat with contacts from your device open Settings and enable \"Contacts\".";
// iOS notification settings
-"disabled_in_dc" = "Disabled in Delta Chat";
+"disabled_in_dc" = "Disabled in Privitty Chat";
"disabled_in_system_settings" = "Disabled in system settings";
"bg_app_refresh_disabled" = "\"Background App Refresh\" disabled in system settings";
// iOS connectivity view, Adjective, used eg. as "Notifications: Delayed"
@@ -1071,7 +1071,7 @@
// use the same translation for "Shortcuts" as the system is using, often the term "Shortcut" stays untranslated; check eg. how the "Shortcuts" system app is called in your locale
"shortcuts_widget_title" = "Shortcuts";
// use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated
-"shortcuts_widget_description" = "Use Delta Chat\'s \"Add to Widget\" to add items";
+"shortcuts_widget_description" = "Use Privitty Chat\'s \"Add to Widget\" to add items";
// use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated
"remove_from_widget" = "Remove from Widget";
// use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated
@@ -1083,16 +1083,16 @@
"pref_background_notifications_explain" = "Requires ignored battery optimizations, use if notifications don\'t arrive on time";
"pref_reliable_service" = "Force Background Connection";
"pref_reliable_service_explain" = "Causes a permanent notification";
-"pref_background_notifications_rationale" = "To maintain connection and receive messages in the background, ignore battery optimizations in the next step.\n\nDelta Chat uses few resources and takes care not to drain your battery.";
+"pref_background_notifications_rationale" = "To maintain connection and receive messages in the background, ignore battery optimizations in the next step.\n\nPrivitty Chat uses few resources and takes care not to drain your battery.";
// disabling "Reliable service" will hide a the maybe annoying permanent-notification with the drawback that new-message-notifications get potentially unreliable
-"perm_enable_bg_reminder_title" = "Tap here to receive messages while Delta Chat is in the background.";
-"perm_enable_bg_already_done" = "You already allowed Delta Chat to receive messages in the background.\n\nIf messages still do not arrive in background, please also check your system settings.";
+"perm_enable_bg_reminder_title" = "Tap here to receive messages while Privitty Chat is in the background.";
+"perm_enable_bg_already_done" = "You already allowed Privitty Chat to receive messages in the background.\n\nIf messages still do not arrive in background, please also check your system settings.";
// device messages for updates
-"update_2_0" = "What\'s new?\n\n💯 End-to-end encryption is reliable and forever now. Padlocks 🔒 are gone!\n\n✉️ Classic email without end-to-end encryption is marked with a letter symbol\n\n😻 New enhanced profile screen for all your contacts\n\n🔲 New button for quick access to apps used in a chat\n\n❤️ Please donate to help us remain independent and continue to bring improvements: %1$@";
+"update_2_0" = "What\'s new?\n\n💯 End-to-end encryption is reliable and forever now. Padlocks 🔒 are gone!\n\n✉️ Classic email without end-to-end encryption is marked with a letter symbol\n\n😻 New enhanced profile screen for all your contacts\n\n🔲 New button for quick access to apps used in a chat\n\n🔐 Learn more about Privitty Chat\'s security features at %1$@";
// iOS specific untranslated strings
"connectivity_low_data_mode" = "Throttled by system's \"Low Data Mode\".";
"connectivity_low_power_mode" = "Throttled by system's \"Low Power Mode\".";
"backup_successful" = "Backup successful";
-"backup_successful_explain_ios" = "You can find the backup in the \"Delta Chat\" folder using the \"Files\" app.\n\nMove the backup out of this folder to keep it when deleting Delta Chat.";
+"backup_successful_explain_ios" = "You can find the backup in the \"Privitty Chat\" folder using the \"Files\" app.\n\nMove the backup out of this folder to keep it when deleting Privitty Chat.";
"location_denied" = "Location access denied";
-"location_denied_explain_ios" = "In the system settings, enable \"Privacy/Location Services\" and set \"Delta Chat/Location\" to \"Always\" and \"Precise\".";
+"location_denied_explain_ios" = "In the system settings, enable \"Privacy/Location Services\" and set \"Privitty Chat/Location\" to \"Always\" and \"Precise\".";
diff --git a/deltachat-ios/eo.lproj/Localizable.strings b/deltachat-ios/eo.lproj/Localizable.strings
index 3bae05338..cf39f3c4b 100644
--- a/deltachat-ios/eo.lproj/Localizable.strings
+++ b/deltachat-ios/eo.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Bone";
"cancel" = "Nuligi";
"clear_search" = "Forviŝi Serĉon";
diff --git a/deltachat-ios/es.lproj/Localizable.strings b/deltachat-ios/es.lproj/Localizable.strings
index dd07ce60e..8f20b1844 100644
--- a/deltachat-ios/es.lproj/Localizable.strings
+++ b/deltachat-ios/es.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Cancelar";
"clear_search" = "Borrar búsqueda";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Añadir a la pantalla principal";
"donate" = "Donar";
-"donate_device_msg" = "❤️ ¡Parece que disfrutas de Delta Chat!\n\nPor favor, considera donar para ayudar a garantizar que Delta Chat siga siendo gratuito para todos.\n\nAunque Delta Chat es gratuito y de código abierto, su desarrollo cuesta dinero. Ayúdanos a mantener la independencia de Delta Chat y a hacerlo aún mejor en el futuro.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ ¡Parece que disfrutas de Privitty Chat!\n\nPor favor, considera donar para ayudar a garantizar que Delta Chat siga siendo gratuito para todos.\n\nAunque Delta Chat es gratuito y de código abierto, su desarrollo cuesta dinero. Ayúdanos a mantener la independencia de Delta Chat y a hacerlo aún mejor en el futuro.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Silenciar por 1 hora";
"mute_for_eight_hours" = "Silenciar por 8 horas";
"mute_for_one_day" = "Silenciar por 1 día";
@@ -470,7 +470,7 @@
"multidevice_title" = "Añadir otro dispositivo";
"multidevice_same_network_hint" = "Asegúrate de que ambos dispositivos estén conectados en la misma red o Wi-Fi";
"multidevice_this_creates_a_qr_code" = "Esto crea un código QR que el otro dispositivo puede escanear para copiar la cuenta.";
-"multidevice_install_dc_on_other_device" = "Instala Delta Chat en tu otro dispositivo (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instala Delta Chat en tu otro dispositivo (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Inicia Delta Chat, toca \"Añadir desde otro dispositivo\" y escanea el código mostrado aquí";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ El almacenamiento de tu proveedor está por excederse, ya tienes %1$@%% en uso.\n\nQuizás no puedas recibir mensajes cuando el almacenamiento esté al 100%% de uso.\n\n👉 Por favor chequea si puedes eliminar los datos antiguos en la página web del proveedor y considera habilitar \"Ajustes / Eliminar mensajes antiguos\". Puedes chequear tu almacenamiento actual en cualquier momento en \"Ajustes / Conectividad\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Fecha y hora de tu dispositivo parecen ser inexactas (%1$@).\n\nAjusta tu reloj ⏰🔧 para asegurarte que los mensajes sean recibidos correctamente.";
-"devicemsg_update_reminder" = "⚠️ Tu versión de Delta Chat puede estar desactualizada.\n\nEso puede crear problemas porque tus contactos usan nuevas versiones - y tú te estás perdiendo las últimas novedades 😳\nChequea https://get.delta.chat o tu tienda de aplicaciones para actualizaciones.";
+"devicemsg_update_reminder" = "⚠️ Tu versión de Delta Chat puede estar desactualizada.\n\nEso puede crear problemas porque tus contactos usan nuevas versiones - y tú te estás perdiendo las últimas novedades 😳\nChequea https://privittytech.com o tu tienda de aplicaciones para actualizaciones.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Desbloquear para continuar";
// qr code stuff
diff --git a/deltachat-ios/et.lproj/Localizable.strings b/deltachat-ios/et.lproj/Localizable.strings
index 53c1ebf82..5914a9a52 100644
--- a/deltachat-ios/et.lproj/Localizable.strings
+++ b/deltachat-ios/et.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Sobib";
"cancel" = "Katkesta";
"clear_search" = "Eemalda otsing";
@@ -303,7 +303,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Lisa avaekraanile";
"donate" = "Toeta arendust";
-"donate_device_msg" = "❤️ Tundub, et Delta Chat meeldib sulle!\n\nTagamaks, et Delta Chat jääb kõigi jaoks vabaks ning tasuta kasutatavaks, palun kaalu projekti rahalist toetamist.\n\nKuigi Delta Chat on vabalt pruugitav ja põhineb avatud lähtekoodil, siis arenduseks kulub paratamatult raha. Sinu toetus võimaldab Delta Chatil jääda sõltumatuks ning iga uue versiooniga muutuda aina paremaks.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Tundub, et Privitty Chat meeldib sulle!\n\nTagamaks, et Delta Chat jääb kõigi jaoks vabaks ning tasuta kasutatavaks, palun kaalu projekti rahalist toetamist.\n\nKuigi Delta Chat on vabalt pruugitav ja põhineb avatud lähtekoodil, siis arenduseks kulub paratamatult raha. Sinu toetus võimaldab Delta Chatil jääda sõltumatuks ning iga uue versiooniga muutuda aina paremaks.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Summuta üheks tunniks";
"mute_for_eight_hours" = "Summuta kaheksaks tunniks";
"mute_for_one_day" = "Summuta üheks päevaks";
@@ -423,7 +423,7 @@
"multidevice_title" = "Lisa täiendav seade";
"multidevice_same_network_hint" = "Palun vaat, et mõlemad seadmed oleks samas WiFi võrgus";
"multidevice_this_creates_a_qr_code" = "Sellega luuakse QR-kood, mida täiendavast seadmest skaneerides on võimalik sinna kopeerida sinu profiili.\n\nPalun kontrolli, et ükski kõrvaline vaataja ega kaamera ei näeks järgnevat ekraanivaadet.";
-"multidevice_install_dc_on_other_device" = "Paigalda teise seadmesse Delta Chat (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Paigalda teise seadmesse Delta Chat (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Klõpsi valikut „Mul juba on profiil olemas / Lisa täiendava seadmena“ ja skaneeri siin näidatud koodi.";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -772,7 +772,7 @@
"learn_more" = "Lisateave";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Sinu seadme kuupäev või kellaaeg tundub olema ebatäpne (%1$@).\n\nPalun seadista kella ⏰🔧 ja taga, et sõnumivahetus, sh selle krüptimine toimib korrektselt.";
-"devicemsg_update_reminder" = "⚠️ Sinu kasutatav Delta Chati versioon võib olla aegunud.\n\nKuna sinu vestluspartnerid ilmselt kasutavad uuemaid versioone, ja sinu oma ei oska uuemaid funktsionaalsusi, siis võib tekkida probleeme 😳\nUuenduste teavet leiad https://get.delta.chat saidist või oma rakendustepoest.";
+"devicemsg_update_reminder" = "⚠️ Sinu kasutatav Delta Chati versioon võib olla aegunud.\n\nKuna sinu vestluspartnerid ilmselt kasutavad uuemaid versioone, ja sinu oma ei oska uuemaid funktsionaalsusi, siis võib tekkida probleeme 😳\nUuenduste teavet leiad https://privittytech.com saidist või oma rakendustepoest.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Jätkamiseks eemalda lukustus";
// qr code stuff
diff --git a/deltachat-ios/eu.lproj/Localizable.strings b/deltachat-ios/eu.lproj/Localizable.strings
index cffcb6404..4217d4677 100644
--- a/deltachat-ios/eu.lproj/Localizable.strings
+++ b/deltachat-ios/eu.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Ados";
"cancel" = "Utzi";
"clear_search" = "Garbitu bilaketa";
diff --git a/deltachat-ios/fa.lproj/Localizable.strings b/deltachat-ios/fa.lproj/Localizable.strings
index 8229c11da..c980f4f16 100644
--- a/deltachat-ios/fa.lproj/Localizable.strings
+++ b/deltachat-ios/fa.lproj/Localizable.strings
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "افزودن به صفحه خانه";
"donate" = "حمایت مالی";
-"donate_device_msg" = "❤️ بنظر میآید شما در حال لذت بردن از دلتاچت هستید!\n\nلطفا هدیه دهید تا مطمئن باشیم دلتاچت برای همه آزاد باقی میماند.\n\nبا وجودی که دلتاچت برای استفاده رایگان است و یک نرمافزار آزاد نیز هست، توسعهٔ آن هزینه دارد. به ما کمک کنید تا دلتاچت را مستقل نگهداریم و در آینده حتی آنرا خفنتر کنیم. هدایا از طریق رمزارز نیز پذیرفته میشوند.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ بنظر میآید شما در حال لذت بردن از دلتاچت هستید!\n\nلطفا هدیه دهید تا مطمئن باشیم دلتاچت برای همه آزاد باقی میماند.\n\nبا وجودی که دلتاچت برای استفاده رایگان است و یک نرمافزار آزاد نیز هست، توسعهٔ آن هزینه دارد. به ما کمک کنید تا دلتاچت را مستقل نگهداریم و در آینده حتی آنرا خفنتر کنیم. هدایا از طریق رمزارز نیز پذیرفته میشوند.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "ساکت کردن به مدت۱ ساعت";
"mute_for_eight_hours" = "بیصدا کردن به مدت ۸ ساعت";
"mute_for_one_day" = "ساکت کردن به مدت ۱ روز";
@@ -475,7 +475,7 @@ https://meet.jit.si/$ROOM
"multidevice_title" = "افزودن دستگاه دوم";
"multidevice_same_network_hint" = "مطمئن شوید هر دو دستگاه در یک وایفای یا شبکه هستند";
"multidevice_this_creates_a_qr_code" = "این یک کد کیوآر ایجاد میکند که دستگاه دوم میتواند برای کپی حساب اسکن کند.";
-"multidevice_install_dc_on_other_device" = "دلتاچت را روی دستگاه دیگر خود نصب کنید (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "دلتاچت را روی دستگاه دیگر خود نصب کنید (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "دلتاچت را باز کنید، روی «افزودن به عنوان دستگاه دوم» بزنید و کد نشان داده شده در اینجا را اسکن کنید";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -868,7 +868,7 @@ https://meet.jit.si/$ROOM
ساعت دستگاه خود را تنظیم کنید ⏰🔧 تا پیامها به درستی دریافت شوند. ";
"devicemsg_update_reminder" = "هشدار⚠️ ممکن است نسخه دلتاچت مورد استفاده قدیمی شده باشد.
این موضوع ممکن است مشکلاتی ایجاد کند چون مخاطبین شما از نسخههای جدیدتر استفاده میکنند. همچنین قابلیتهای جدید را هم از دست میدهید😳
-لطفا برای دریافت نسخه جدید به app store یا https://get.delta.chat مراجعه کنید. ";
+لطفا برای دریافت نسخه جدید به app store یا https://privittytech.com مراجعه کنید. ";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "برای ادامه، لطفا رمز تعیین شده توسط سیستم خود را وارد کنید";
// qr code stuff
diff --git a/deltachat-ios/fi.lproj/Localizable.strings b/deltachat-ios/fi.lproj/Localizable.strings
index 4ece7bd11..899b2e61e 100644
--- a/deltachat-ios/fi.lproj/Localizable.strings
+++ b/deltachat-ios/fi.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Peruuta";
"clear_search" = "Tyhjennä haku";
@@ -390,7 +390,7 @@
"multidevice_title" = "Lisää toinen laite";
"multidevice_same_network_hint" = "Varmista että molemmat laitteet ovat samassa Wi-Fi verkossa";
"multidevice_this_creates_a_qr_code" = "Tämä luo QR koodin, jolla toinen laite saa ladattua kopion profiilista.";
-"multidevice_install_dc_on_other_device" = "Lataa Delta Chat toiselle laitteellesi (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Lataa Delta Chat toiselle laitteellesi (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Avaa Delta Chat, valitse \"Minulla on jo profiili / Lisää toiseksi laitteeksi\" ja skannaa täällä näkyvä koodi";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -747,7 +747,7 @@
"devicemsg_storage_exceeding" = "⚠️ Palveluntarjoajasi tallennuskiintiö ylitetään pian, käytössä on jo %1$@ / %%.\n\nEt välttämättä enää voi vastaanottaa viestejäsi, kun 100 %% on käytössä.\n\n👉 Kokeile poistaa viestejä palveluntarjoajasi internetkäyttöliittymästä. Kannattaa myös ehkä kytkeä päälle \"Asetukset / Poista vanhat viestit\". Voit tarkistaa tämän hetkisen tallennustilan käytön \"Asetukset / Yhteys\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Laitteesi päivämäärä tai aika vaikuttaa olevan väärässä (%1$@).\n\nAseta kellonaika ⏰🔧 varmistaaksesi, että viestin vastaanottaminen onnistuu.";
-"devicemsg_update_reminder" = "⚠️ Delta Chat -versio saattaa olla vanhentunut.\n\nTämä saattaa aiheuttaa ongelmia, koska muut käyttävät uudempia versioita - ja saatat jäädä paitsi uusista ominaisuuksista. 😳\nTarkista uudet päivitykset sovelluskaupastasi tai https://get.delta.chat";
+"devicemsg_update_reminder" = "⚠️ Delta Chat -versio saattaa olla vanhentunut.\n\nTämä saattaa aiheuttaa ongelmia, koska muut käyttävät uudempia versioita - ja saatat jäädä paitsi uusista ominaisuuksista. 😳\nTarkista uudet päivitykset sovelluskaupastasi tai https://privittytech.com";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Avaa lukitus jatkaaksesi";
// qr code stuff
diff --git a/deltachat-ios/fr.lproj/Localizable.strings b/deltachat-ios/fr.lproj/Localizable.strings
index cc5a64683..5b09181b6 100644
--- a/deltachat-ios/fr.lproj/Localizable.strings
+++ b/deltachat-ios/fr.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Annuler";
"clear_search" = "Effacer la recherche";
@@ -427,7 +427,7 @@
"multidevice_title" = "Ajouter un deuxième appareil";
"multidevice_same_network_hint" = "Vérifiez que les deux appareils sont bien connectés au même Wi-Fi ou réseau.";
"multidevice_this_creates_a_qr_code" = "Crée un code QR que vous pouvez scanner avec le deuxième appareil pour copier le compte.";
-"multidevice_install_dc_on_other_device" = "Installer Delta Chat sur votre autre appareil (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Installer Delta Chat sur votre autre appareil (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Lancez Delta Chat, appuyez sur \"Ajouter comme deuxième appareil\" et scannez le code affiché ici.";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -804,7 +804,7 @@
"devicemsg_storage_exceeding" = "⚠️ Bientôt plus d\'espace de stockage chez votre fournisseur, %1$@%% utilisés.\n\nVous ne serez peut-être plus en mesure de recevoir des messages quand votre espace de stockage sera plein.\n\n👉 Veuillez vérifier si vous avez d\'anciens éléments à supprimer directement sur l\'interface web de votre fournisseur et envisagez d\'activer \"Paramètres / Supprimer les anciens messages\". Vous pouvez vérifier à tout moment le volume d\'espace de stockage en cours d\'utilisation depuis \"Paramètres / Connectivité\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ L\'heure ou la date de votre appareil semble erronée (%1$@).\n\nRéglez votre horloge ⏰🔧 pour que vos messages soient bien reçus.";
-"devicemsg_update_reminder" = "⚠️ Votre version de Delta Chat semble obsolète.\n\nCela risque de créer des dysfonctionnements parce que vos contacts utilisent des versions plus récentes - en plus, vous ratez les nouvelles fonctionnalités 😳\n Rendez-vous sur https://get.delta.chat ou sur votre magasin d\'applications pour effectuer la mise à jour !";
+"devicemsg_update_reminder" = "⚠️ Votre version de Delta Chat semble obsolète.\n\nCela risque de créer des dysfonctionnements parce que vos contacts utilisent des versions plus récentes - en plus, vous ratez les nouvelles fonctionnalités 😳\n Rendez-vous sur https://privittytech.com ou sur votre magasin d\'applications pour effectuer la mise à jour !";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Déverrouillez votre appareil pour continuer";
// qr code stuff
diff --git a/deltachat-ios/gl.lproj/Localizable.strings b/deltachat-ios/gl.lproj/Localizable.strings
index 66079ecb4..90ad58dd8 100644
--- a/deltachat-ios/gl.lproj/Localizable.strings
+++ b/deltachat-ios/gl.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Cancelar";
"clear_search" = "Eliminar busca";
@@ -461,7 +461,7 @@
"multidevice_title" = "Engadir segundo dispositivo";
"multidevice_same_network_hint" = "Comproba que os dous dispositivos estean na mesma Wi-Fi ou rede";
"multidevice_this_creates_a_qr_code" = "Isto crea un código QR que hai que escanear co segundo dispositivo para copiar o perfil.\n\nComproba que non hai ninguén mirando ou unha cámara que poida ver a seguinte pantalla.";
-"multidevice_install_dc_on_other_device" = "Instala Delta Chat no teu outro dispositivo (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instala Delta Chat no teu outro dispositivo (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Inicia Delta Chat, toca en \"Xa teño un perfil / Engadir como segundo dispositivo\" e escanea este código";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -826,7 +826,7 @@
"devicemsg_storage_exceeding" = "⚠️ A almacenaxe do teu provedor vaise esgotar, xa utilizaches %1$@ %%.\n\nPode que non recibas mensaxes cando a almacenaxe chegue a 100%% utilizado.\n\n👉 Mira se podes eliminar datos antigos na interface web do teu provedor e pensa se debes activar \"Axustes / Eliminar Mensaxes Antigas\". Podes ver a almacenaxe actual utilizada en \"Axustes / Conectividade\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ A hora ou data no teu dispositivo poderían ser incorrectas (%1$@).\n\nAxusta o reloxio ⏰🔧 para asegurar que as túas mensaxes son recibidas correctamente.";
-"devicemsg_update_reminder" = "⚠️ A túa versión de Delta Chat podería estar desactualizada.\n\nEsto podería causar problemas porque os teus correspondentes utilizan versións máis novas - e ademáis non tes as últimas características 😳\nVai a https://get.delta.chat ou tenda de aplicacións para máis detalles.";
+"devicemsg_update_reminder" = "⚠️ A túa versión de Delta Chat podería estar desactualizada.\n\nEsto podería causar problemas porque os teus correspondentes utilizan versións máis novas - e ademáis non tes as últimas características 😳\nVai a https://privittytech.com ou tenda de aplicacións para máis detalles.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Escribe o código establecido no sistema para continuar.";
// qr code stuff
diff --git a/deltachat-ios/hr.lproj/Localizable.strings b/deltachat-ios/hr.lproj/Localizable.strings
index 7ee8aa632..b036330a5 100644
--- a/deltachat-ios/hr.lproj/Localizable.strings
+++ b/deltachat-ios/hr.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Otkaži";
"yes" = "Da";
diff --git a/deltachat-ios/hu.lproj/Localizable.strings b/deltachat-ios/hu.lproj/Localizable.strings
index a4da48c1c..494613edb 100644
--- a/deltachat-ios/hu.lproj/Localizable.strings
+++ b/deltachat-ios/hu.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Mégse";
"clear_search" = "Keresés kiürítése";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Hozzáadás a kezdőképernyőhöz";
"donate" = "Adományozás";
-"donate_device_msg" = "❤️ Úgy tűnik, hogy tetszik önnek a Delta Chat!\n\nFontolja meg az adományozást, hogy a Delta Chat mindenki számára ingyenes maradhasson.\n\nUgyan a Delta Chat szabadon használható és nyílt forráskódú, de a fejlesztés pénzbe kerül. Segítsen nekünk, hogy a Delta Chat független maradhasson, és a jövőben még fantasztikusabbá váljon.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Úgy tűnik, hogy tetszik önnek a Privitty Chat!\n\nFontolja meg az adományozást, hogy a Delta Chat mindenki számára ingyenes maradhasson.\n\nUgyan a Delta Chat szabadon használható és nyílt forráskódú, de a fejlesztés pénzbe kerül. Segítsen nekünk, hogy a Delta Chat független maradhasson, és a jövőben még fantasztikusabbá váljon.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Némítás 1 órára";
"mute_for_eight_hours" = "Némítás 8 órára";
"mute_for_one_day" = "Némítás 1 napra";
@@ -470,7 +470,7 @@
"multidevice_title" = "Második eszköz hozzáadása";
"multidevice_same_network_hint" = "Győződjön meg arról, hogy mindkét eszköz ugyanazon a Wi-Fi-n vagy hálózaton van-e";
"multidevice_this_creates_a_qr_code" = "Ez létrehoz egy QR-kódot, amit a második eszközön beolvashat a profil másolásához.\n\nÜgyeljen arra, hogy egy nem kívánatos megfigyelő vagy kamera ne láthassa a következő képernyőt.";
-"multidevice_install_dc_on_other_device" = "Telepítse a Delta Chatet a másik eszközére (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Telepítse a Delta Chatet a másik eszközére (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Indítsa el a Delta Chatet, koppintson a „Már van profilom / Hozzáadás második eszközként” lehetőségre, és olvassa be az itt megjelenő QR-kódot.";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Az e-mail-szolgáltatójától kapott tárhelye hamarosan megtelik: %1$@%% már felhasználásra került.\n\n\nElképzelhető, hogy nem tud üzeneteket fogadni, ha a tárhelye megtelt.\n\n👉 Ellenőrizze, hogy a szolgáltatója webes felületén tudja-e törölni a DeltaChat-mappából az üzeneteket, és fontolja meg a „Beállítások / Csevegések és média / Üzenetek törlése a kiszolgálóról” engedélyezését. Az aktuális tárhelyhasználatot bármikor ellenőrizheti a „Beállítások / Tárhely” menüpontban.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Az eszközén lévő dátum vagy idő pontatlannak tűnik (%1$@).\n\nJavítsa meg az órát ⏰🔧 az üzenetek helyes fogadásának biztosítása érdekében.";
-"devicemsg_update_reminder" = "⚠️ Lehet, hogy a Delta Chat verziója elavult.\n\nEz problémákat okozhat, mivel a partnerei újabb verziókat használnak - továbbá hiányoznak a legújabb funkciók 😳\nEllenőrizze a https://get.delta.chat oldalon vagy az alkalmazásboltban a frissítéseket.";
+"devicemsg_update_reminder" = "⚠️ Lehet, hogy a Delta Chat verziója elavult.\n\nEz problémákat okozhat, mivel a partnerei újabb verziókat használnak - továbbá hiányoznak a legújabb funkciók 😳\nEllenőrizze a https://privittytech.com oldalon vagy az alkalmazásboltban a frissítéseket.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Feloldás a folytatáshoz";
// qr code stuff
diff --git a/deltachat-ios/id.lproj/Localizable.strings b/deltachat-ios/id.lproj/Localizable.strings
index 8810be2a5..8ebad8bd9 100644
--- a/deltachat-ios/id.lproj/Localizable.strings
+++ b/deltachat-ios/id.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Batalkan";
"clear_search" = "Hapus pencarian";
diff --git a/deltachat-ios/it.lproj/Localizable.strings b/deltachat-ios/it.lproj/Localizable.strings
index 77bc64d5d..5a25d6b7b 100644
--- a/deltachat-ios/it.lproj/Localizable.strings
+++ b/deltachat-ios/it.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Annulla";
"clear_search" = "Cancella Ricerca";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Aggiungi alla Schermata Iniziale";
"donate" = "Dona";
-"donate_device_msg" = "❤️ Sembra che Delta Chat ti piaccia!\n\nConsidera una donazione per contribuire a garantire che Delta Chat rimanga gratuita per tutti.\n\nSebbene Delta Chat sia gratuita e open source, lo sviluppo richiede soldi. Aiutaci a mantenere Delta Chat indipendente e a renderla ancora più fantastica in futuro.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Sembra che Privitty Chat ti piaccia!\n\nConsidera una donazione per contribuire a garantire che Delta Chat rimanga gratuita per tutti.\n\nSebbene Delta Chat sia gratuita e open source, lo sviluppo richiede soldi. Aiutaci a mantenere Delta Chat indipendente e a renderla ancora più fantastica in futuro.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Silenzia per 1 ora";
"mute_for_eight_hours" = "Silenzia per 8 ore";
"mute_for_one_day" = "Silenzia per 1 giorno";
@@ -470,7 +470,7 @@
"multidevice_title" = "Aggiungi Secondo Dispositivo";
"multidevice_same_network_hint" = "Assicurati che entrambi i dispositivi siano sulla stessa rete o Wi-Fi.";
"multidevice_this_creates_a_qr_code" = "Questo crea un codice QR che il secondo dispositivo può scansionare per copiare il profilo.\n\nAssicurati che nessun osservatore o telecamera indesiderata possa vedere la schermata seguente.";
-"multidevice_install_dc_on_other_device" = "Installa Delta Chat sull\'altro tuo dispositivo (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Installa Delta Chat sull\'altro tuo dispositivo (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Avvia Delta Chat, tocca \"Ho già un Profilo / Aggiungi come Secondo Dispositivo\" e scansiona il codice mostrato qui";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Lo spazio di archiviazione del tuo fornitore sta per esaurirsi:%1$@%% sono già utilizzati.\n\nPotresti non essere in grado di ricevere messaggi se lo spazio di archiviazione è pieno.\n\n👉 Per piacere controlla se puoi eliminare i vecchi dati nell\'interfaccia web del fornitore e considera di abilitare \"Impostazioni / Chat e Media / Elimina Vecchi Messaggi\". Puoi controllare l\'utilizzo attuale dello spazio di archiviazione in qualsiasi momento in \"Impostazioni / Connettività\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ La data o l\'ora del tuo dispositivo sembrano essere imprecise (%1$@).\n\nRegola l\'orologio ⏰🔧 per assicurarti che i tuoi messaggi vengano ricevuti correttamente.";
-"devicemsg_update_reminder" = "⚠️ La tua versione di Delta Chat potrebbe essere obsoleta.\n\nCiò potrebbe causare problemi perché i tuoi partner di chat utilizzano versioni più recenti - e ti mancano le funzionalità più recenti 😳\nPer piacere controlla https://get.delta.chat o il tuo app store per gli aggiornamenti. ";
+"devicemsg_update_reminder" = "⚠️ La tua versione di Delta Chat potrebbe essere obsoleta.\n\nCiò potrebbe causare problemi perché i tuoi partner di chat utilizzano versioni più recenti - e ti mancano le funzionalità più recenti 😳\nPer piacere controlla https://privittytech.com o il tuo app store per gli aggiornamenti. ";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Sblocca per continuare";
// qr code stuff
diff --git a/deltachat-ios/ja.lproj/Localizable.strings b/deltachat-ios/ja.lproj/Localizable.strings
index a1ee4c45c..9389ee8f6 100644
--- a/deltachat-ios/ja.lproj/Localizable.strings
+++ b/deltachat-ios/ja.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "了承";
"cancel" = "取消";
"clear_search" = "検索履歴を消す";
diff --git a/deltachat-ios/ko.lproj/Localizable.strings b/deltachat-ios/ko.lproj/Localizable.strings
index 0b6f98b95..675c5f972 100644
--- a/deltachat-ios/ko.lproj/Localizable.strings
+++ b/deltachat-ios/ko.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "확인";
"cancel" = "취소";
"clear_search" = "검색 지우기";
@@ -613,7 +613,7 @@
"devicemsg_storage_exceeding" = "⚠️ 공급자의 저장공간이 곧 고갈될 예정입니다. %1$@%%가 이미 사용 중입니다.\n\n저장공간이 가득 찬 경우 메시지를 수신하지 못할 수 있습니다.\n\n👉 공급자의 웹 인터페이스에서 이전 데이터를 삭제할 수 있는지 확인하고 \"설정 / 이전 메시지 삭제\"를 활성화하는 것을 고려하십시오. \"설정/연결\"에서 언제든지 현재 저장공간 사용량을 확인할 수 있습니다.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ 장치의 날짜 또는 시간이 정확하지 않은 것 같습니다(%1$@).\n\n메시지가 올바르게 수신되도록 시계 ⏰🔧를 조정하세요.";
-"devicemsg_update_reminder" = "⚠️ 델타 채팅 버전이 오래되었을 수 있습니다.\n\n채팅 파트너가 최신 버전을 사용하기 때문에 문제가 발생할 수 있습니다. 당신은 최신 기능이 없습니다. 😳\n https://get.delta.chat 또는 앱 스토어에서 업데이트를 확인하십시오.";
+"devicemsg_update_reminder" = "⚠️ 델타 채팅 버전이 오래되었을 수 있습니다.\n\n채팅 파트너가 최신 버전을 사용하기 때문에 문제가 발생할 수 있습니다. 당신은 최신 기능이 없습니다. 😳\n https://privittytech.com 또는 앱 스토어에서 업데이트를 확인하십시오.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "계속하려면 시스템 정의 암호를 입력하십시오.";
// qr code stuff
diff --git a/deltachat-ios/lt.lproj/Localizable.strings b/deltachat-ios/lt.lproj/Localizable.strings
index 3f6391985..ffa2924b4 100644
--- a/deltachat-ios/lt.lproj/Localizable.strings
+++ b/deltachat-ios/lt.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Gerai";
"cancel" = "Atsisakyti";
"clear_search" = "Išvalyti paiešką";
diff --git a/deltachat-ios/nb.lproj/Localizable.strings b/deltachat-ios/nb.lproj/Localizable.strings
index 4e10562ee..056dca4b0 100644
--- a/deltachat-ios/nb.lproj/Localizable.strings
+++ b/deltachat-ios/nb.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Avbryt";
"yes" = "Ja";
diff --git a/deltachat-ios/nl.lproj/Localizable.strings b/deltachat-ios/nl.lproj/Localizable.strings
index c56a30506..20479499d 100644
--- a/deltachat-ios/nl.lproj/Localizable.strings
+++ b/deltachat-ios/nl.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Oké";
"cancel" = "Annuleren";
"clear_search" = "Zoekopdracht wissen";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Toevoegen aan startscherm";
"donate" = "Doneren";
-"donate_device_msg" = "❤️ Het lijkt er op dat je blij bent met Delta Chat!\n\nAls dat zo is, zouden we je vriendelijk willen vragen om een donatie, zodat Delta Chat gratis beschikbaar kan blijven.\n\n Ook al is Delta Chat gratis en opensource, de ontwikkeling ervan kost wél geld. Jouw donatie kan het verschil maken!\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Het lijkt er op dat je blij bent met Privitty Chat!\n\nAls dat zo is, zouden we je vriendelijk willen vragen om een donatie, zodat Delta Chat gratis beschikbaar kan blijven.\n\n Ook al is Delta Chat gratis en opensource, de ontwikkeling ervan kost wél geld. Jouw donatie kan het verschil maken!\n\nhttps://privittytech.com";
"mute_for_one_hour" = "1 uur lang uitschakelen";
"mute_for_eight_hours" = "8 uur lang uitschakelen";
"mute_for_one_day" = "1 dag lang uitschakelen";
@@ -470,7 +470,7 @@
"multidevice_title" = "Secundair apparaat toevoegen";
"multidevice_same_network_hint" = "Zorg ervoor dat beide apparaten verbonden zijn met hetzelfde (wifi)netwerk";
"multidevice_this_creates_a_qr_code" = "Hiermee wordt een QR-code samengesteld die door het tweede apparaat kan worden gescand om het account te kopiëren.\n\nZorg dat er geen vreemden meekijken, al dan niet door een camera.";
-"multidevice_install_dc_on_other_device" = "Installeer Delta Chat op je andere apparaat (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Installeer Delta Chat op je andere apparaat (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Start Delta Chat, druk op ‘Ik heb al een profiel → Toevoegen als secundair apparaat’ en scan de hier getoonde code";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ De opslagruimte die je provider biedt is bijna overschreden. Momenteel heb je %1$@%% ervan in gebruik.\n\nAls je geen ruimte meer hebt, kun je mogelijk geen berichten meer ontvangen.\n\n👉 Kijk of je oude gegevens kunt verwijderen in de webclient van je provider. Overweeg ook ‘Instellingen → Oude berichten verwijderen’ in te schakelen. Je kunt je huidige gebruik te allen tijde bekijken via ‘Instellingen → Verbindingen’.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ De datum en tijd van je apparaat lijken niet te kloppen (%1$@).\n\nVerzet je klok ⏰🔧 om er zeker van te zijn dat je berichten kunt ontvangen.";
-"devicemsg_update_reminder" = "⚠️ Je versie van Delta Chat is mogelijk verouderd.\n\nDit kan problemen veroorzaken aangezien je gesprekspartners nieuwe versies gebruiken. Bovendien mis je hierdoor enkele nieuwe functies. 😳\nGa naar https://get.delta.chat of de appwinkel van je apparaat om te controleren op updates.";
+"devicemsg_update_reminder" = "⚠️ Je versie van Delta Chat is mogelijk verouderd.\n\nDit kan problemen veroorzaken aangezien je gesprekspartners nieuwe versies gebruiken. Bovendien mis je hierdoor enkele nieuwe functies. 😳\nGa naar https://privittytech.com of de appwinkel van je apparaat om te controleren op updates.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Ontgrendelen om verder te gaan";
// qr code stuff
diff --git a/deltachat-ios/pl.lproj/Localizable.strings b/deltachat-ios/pl.lproj/Localizable.strings
index fb2463753..7bc7eeb8c 100644
--- a/deltachat-ios/pl.lproj/Localizable.strings
+++ b/deltachat-ios/pl.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Anuluj";
"clear_search" = "Wyczyść wyszukiwanie";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Dodaj do ekranu głównego";
"donate" = "Wspomóż";
-"donate_device_msg" = "❤️ Wygląda na to, że podoba ci się Delta Chat!\n\nProsimy o przekazanie darowizny, abyśmy mogli zapewnić, że Delta Chat pozostanie darmowy dla wszystkich.\n\nChociaż Delta Chat jest darmowy i ma otwarte oprogramowanie, jego rozwój kosztuje. Pomóż nam zachować niezależność Delta Chat i uczynić go w przyszłości jeszcze lepszym.\n\nhttps://delta.chat/pl/donate";
+"donate_device_msg" = "❤️ Wygląda na to, że podoba ci się Privitty Chat!\n\nProsimy o przekazanie darowizny, abyśmy mogli zapewnić, że Privitty Chat pozostanie darmowy dla wszystkich.\n\nChociaż Privitty Chat jest darmowy i ma otwarte oprogramowanie, jego rozwój kosztuje. Pomóż nam zachować niezależność Privitty Chat i uczynić go w przyszłości jeszcze lepszym.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Wyłącz na 1 godzinę";
"mute_for_eight_hours" = "Wyłącz na 8 godzin";
"mute_for_one_day" = "Wyłącz na 1 dzień";
@@ -470,7 +470,7 @@
"multidevice_title" = "Dodaj kolejne urządzenie";
"multidevice_same_network_hint" = "Upewnij się, że oba urządzenia są połączone z tym samym Wi-Fi lub siecią";
"multidevice_this_creates_a_qr_code" = "Spowoduje to utworzenie kodu QR, który kolejne urządzenie może zeskanować w celu skopiowania konta.";
-"multidevice_install_dc_on_other_device" = "Zainstaluj Delta Chat na swoim kolejnym urządzeniu (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Zainstaluj Delta Chat na swoim kolejnym urządzeniu (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Uruchom Delta Chat, dotknij „Mam już profil / Dodaj jako kolejne urządzenie” i zeskanuj pokazany tutaj kod";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Limit pamięci u twojego dostawcy wkrótce zostanie przekroczony, wykorzystano już %1$@%%.\n\nMożesz nie być w stanie otrzymywać wiadomości, gdy pamięć jest pełna.\n\n👉 Sprawdzić, czy możesz usunąć stare dane w interfejsie internetowym dostawcy i rozważyć włączenie opcji \"Ustawienia » Czaty i media » Usuwanie starych wiadomości\". W dowolnym momencie możesz sprawdzić swoje bieżące wykorzystanie pamięci w \"Ustawienia » Łączność\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Data lub godzina urządzenia wydaje się być niedokładna (%1$@).\n\nDostosuj zegar ⏰🔧, aby upewnić się, że wiadomości są prawidłowo odbierane.";
-"devicemsg_update_reminder" = "⚠️ Twoja wersja Delta Chat może być nieaktualna.\n\nMoże to powodować problemy, ponieważ Twoi partnerzy czatu korzystają z nowszych wersji, a Ty nie masz najnowszych funkcji 😳\nSprawdź aktualizacje na stronie https://get.delta.chat lub w sklepie z aplikacjami.";
+"devicemsg_update_reminder" = "⚠️ Twoja wersja Delta Chat może być nieaktualna.\n\nMoże to powodować problemy, ponieważ Twoi partnerzy czatu korzystają z nowszych wersji, a Ty nie masz najnowszych funkcji 😳\nSprawdź aktualizacje na stronie https://privittytech.com lub w sklepie z aplikacjami.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Aby kontynuować, wprowadź swój tajny kod zdefiniowany w systemie.";
// qr code stuff
@@ -968,7 +968,7 @@
"global_menu_view_developer_desktop" = "Programista";
"global_menu_view_developer_tools_desktop" = "Narzędzia Programisty";
"global_menu_help_desktop" = "Pomoc";
-"delta_chat_homepage" = "Strona Delta Chat";
+"delta_chat_homepage" = "Strona Privitty Chat";
"contribute" = "Wsparcie";
"global_menu_help_report_desktop" = "Zgłoś problem";
"global_menu_help_about_desktop" = "O Delta Chat";
diff --git a/deltachat-ios/pt-BR.lproj/Localizable.strings b/deltachat-ios/pt-BR.lproj/Localizable.strings
index 610754858..49c1a8d11 100644
--- a/deltachat-ios/pt-BR.lproj/Localizable.strings
+++ b/deltachat-ios/pt-BR.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Cancelar";
"clear_search" = "Limpar busca";
@@ -375,7 +375,7 @@
"multidevice_title" = "Adicionar Outro Dispositivo";
"multidevice_same_network_hint" = "Certifique-se de que ambos os dispositivos estejam na mesma Wi-Fi ou na mesma rede";
"multidevice_this_creates_a_qr_code" = "Isso cria um código QR que outro dispositivo pode digitalizar para copiar a conta.";
-"multidevice_install_dc_on_other_device" = "Instalar o Delta Chat em seu outro dispositivo (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instalar o Delta Chat em seu outro dispositivo (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Inicie o Delta Chat, clique em \"Adicionar como outro dispositivo\" e escaneie o código mostrado aqui";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -677,7 +677,7 @@
"devicemsg_storage_exceeding" = "⚠️ O armazenamento em seu provedor está prestes a terminar, %1$@%% já foram utilizados\n\nVocê pode não conseguir receber mensagens quando o armazenamento estiver 100 %% utilizado.\n\n👉 Verifique se você pode excluir dados antigos através da interface da web do provedor e considere habilitar \"Configurações / Excluir Mensagens Antigas\". Você pode verificar o uso de armazenamento atual a qualquer momento em \"Configurações / Conectividade\". ";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ A data ou hora do seu dispositivo parecem imprecisas (%1$@).\n\nAjuste o relógio ⏰🔧 para garantir que suas mensagens sejam recebidas corretamente.";
-"devicemsg_update_reminder" = "⚠️ Sua versão do Delta Chat pode estar desatualizada.\n\nIsso pode causar problemas porque seus parceiros de bate-papo usam versões mais recentes - e você está perdendo os recursos mais recentes 😳\nEntre em https://get.delta.chat ou seu verifique com seu provedor de aplicativos por atualizações.";
+"devicemsg_update_reminder" = "⚠️ Sua versão do Delta Chat pode estar desatualizada.\n\nIsso pode causar problemas porque seus parceiros de bate-papo usam versões mais recentes - e você está perdendo os recursos mais recentes 😳\nEntre em https://privittytech.com ou seu verifique com seu provedor de aplicativos por atualizações.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Desbloquear para continuar. ";
// qr code stuff
diff --git a/deltachat-ios/pt-PT.lproj/Localizable.strings b/deltachat-ios/pt-PT.lproj/Localizable.strings
index 7999831a8..5bf946585 100644
--- a/deltachat-ios/pt-PT.lproj/Localizable.strings
+++ b/deltachat-ios/pt-PT.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Cancelar";
"yes" = "Sim";
diff --git a/deltachat-ios/ro.lproj/Localizable.strings b/deltachat-ios/ro.lproj/Localizable.strings
index 78803bcde..f4a87340d 100644
--- a/deltachat-ios/ro.lproj/Localizable.strings
+++ b/deltachat-ios/ro.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Anulați";
"clear_search" = "Stergere Căutare";
@@ -360,7 +360,7 @@
"multidevice_title" = "Adăugați un al doilea dispozitiv";
"multidevice_same_network_hint" = "Asigurați-vă că ambele dispozitive se află în aceeași rețea Wi-Fi sau în aceeași rețea";
"multidevice_this_creates_a_qr_code" = "Astfel se creează un cod QR pe care cel de-al doilea dispozitiv îl poate scana pentru a copia contul.";
-"multidevice_install_dc_on_other_device" = "Instalați Delta Chat pe celălalt dispozitiv (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instalați Delta Chat pe celălalt dispozitiv (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Porniți Delta Chat, atingeți \" Adăugați ca al doilea dispozitiv\" și scanați codul afișat aici";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
diff --git a/deltachat-ios/ru.lproj/Localizable.strings b/deltachat-ios/ru.lproj/Localizable.strings
index 00149e319..113d16866 100644
--- a/deltachat-ios/ru.lproj/Localizable.strings
+++ b/deltachat-ios/ru.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Отмена";
"clear_search" = "Очистить поиск";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Добавить на главный экран";
"donate" = "Пожертвовать";
-"donate_device_msg" = "❤️ Кажется, вам нравится Delta Chat!\n\nРассмотрите возможность сделать пожертвование, чтобы Delta Chat и дальше оставался бесплатным для всех пользователей.\n\nDelta Chat — это бесплатное приложение с открытым исходным кодом, но его разработка требует денег. Поддержите нас, чтобы сохранить независимость Delta Chat и сделать его ещё более крутым в будущем.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Кажется, вам нравится Privitty Chat!\n\nРассмотрите возможность сделать пожертвование, чтобы Delta Chat и дальше оставался бесплатным для всех пользователей.\n\nDelta Chat — это бесплатное приложение с открытым исходным кодом, но его разработка требует денег. Поддержите нас, чтобы сохранить независимость Delta Chat и сделать его ещё более крутым в будущем.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "На 1 час";
"mute_for_eight_hours" = "На 8 часов";
"mute_for_one_day" = "На 1 день";
@@ -470,7 +470,7 @@
"multidevice_title" = "Добавить второе устройство";
"multidevice_same_network_hint" = "Убедитесь, что оба устройства подключены к одной и той же локальной или Wi-Fi сети.";
"multidevice_this_creates_a_qr_code" = "Это позволяет создать QR-код, который можно отсканировать на втором устройстве, чтобы скопировать профиль.\n\nУбедитесь, что посторонние люди или камера не видят следующий экран.";
-"multidevice_install_dc_on_other_device" = "Установите Delta Chat на другом устройстве (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Установите Delta Chat на другом устройстве (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Запустите Delta Chat, выберите \"У меня уже есть профиль / Добавить как второе устройство\" и отсканируйте код, показанный здесь";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Хранилище вашего провайдера почти заполнено: %1$@%% уже использовано.\n\nЕсли хранилище полностью заполнено, вы не сможете получать сообщения.\n\n👉 Проверьте, можно ли удалить старые данные в веб-интерфейсе провайдера, и подумайте об включении \"Настройки / Чаты и медиафайлы / Удалить старые сообщения\". Текущее использование хранилища можно проверить в любое время в разделе \"Настройки / Соединение\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Вероятно, дата или время на вашем устройстве неточные (%1$@).\n\nУстановите правильное время ⏰🔧 чтобы обеспечить правильное получение сообщений.";
-"devicemsg_update_reminder" = "⚠️ Вероятно, ваша версия Delta Chat устарела.\n\nЭто может привести к проблемам, поскольку ваши собеседники используют более новые версии, а вы не имеете доступа к последним функциям 😳\nПроверьте https://get.delta.chat или магазин приложений на наличие обновлений.";
+"devicemsg_update_reminder" = "⚠️ Вероятно, ваша версия Delta Chat устарела.\n\nЭто может привести к проблемам, поскольку ваши собеседники используют более новые версии, а вы не имеете доступа к последним функциям 😳\nПроверьте https://privittytech.com или магазин приложений на наличие обновлений.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Разблокируйте для продолжения";
// qr code stuff
diff --git a/deltachat-ios/sc.lproj/Localizable.strings b/deltachat-ios/sc.lproj/Localizable.strings
index 9772d050e..58862db27 100644
--- a/deltachat-ios/sc.lproj/Localizable.strings
+++ b/deltachat-ios/sc.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "AB";
"cancel" = "Annulla";
"yes" = "Eja";
diff --git a/deltachat-ios/sk.lproj/Localizable.strings b/deltachat-ios/sk.lproj/Localizable.strings
index 80bd38e20..7334bcc4f 100644
--- a/deltachat-ios/sk.lproj/Localizable.strings
+++ b/deltachat-ios/sk.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Zrušiť";
"clear_search" = "Zrušiť hľadanie";
@@ -434,7 +434,7 @@
// "Second Device" can also be translated as "Another Device", if that is catchier in the destination language. However, make sure to use the term consistently.
"multidevice_title" = "Pridať ďalšie zariadenie";
"multidevice_same_network_hint" = "Uistite sa, že obe zariadenia sú na rovnakej Wi-Fi sieti.";
-"multidevice_install_dc_on_other_device" = "Nainštalujte Delta Chat na vašom ďalšom zariadení (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Nainštalujte Delta Chat na vašom ďalšom zariadení (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Otvorte Delta Chat, ťuknite na \"Existujúci účet / Pridať ako ďalšie zariadenie\" a naskenujte zobrazený kód";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -792,7 +792,7 @@ Ak chcete pokračovať, aktualizujte toto zariadenie na najnovšiu verziu Delta
"devicemsg_storage_exceeding" = "⚠️ Úložisko vašeho poskytovateľa čoskoro prekročí limit, už%1$@%% sú využité.\n\n Je možné, že nebudete môcť prijímať správy, ak bude úložisko 100 %% využité.\n\n👉 Prosím skontrolujte, či môžete vo webovom rozhraní poskytovateľa vymazať staré údaje, a zvážte aktiváciu „Nastavenia / Odstrániť Staré Správy“. Aktuálne využitie úložiska si môžete kedykoľvek skontrolovať v časti „Nastavenia / Pripojenie“. ";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "Zdá sa, že dátum alebo čas vášho zariadenia je nepresný (%1$@).\n\nUpravte si hodiny ⏰🔧, aby ste zaistili správne prijímanie správ. ";
-"devicemsg_update_reminder" = "⚠️ Vaša verzia Delta Chat-u môže byť zastaraná.\n\nMôže to spôsobiť problémy, pretože vaši chatový partneri používajú novšie verzie – a vám chýbajú najnovšie funkcie 😳\nAktualizácie nájdete na https://get.delta.chat alebo obchode s aplikáciami . ";
+"devicemsg_update_reminder" = "⚠️ Vaša verzia Delta Chat-u môže byť zastaraná.\n\nMôže to spôsobiť problémy, pretože vaši chatový partneri používajú novšie verzie – a vám chýbajú najnovšie funkcie 😳\nAktualizácie nájdete na https://privittytech.com alebo obchode s aplikáciami . ";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Ak chcete pokračovať, zadajte heslo do systému.";
// qr code stuff
diff --git a/deltachat-ios/sq.lproj/Localizable.strings b/deltachat-ios/sq.lproj/Localizable.strings
index b29f0f0cf..a6d313cdc 100644
--- a/deltachat-ios/sq.lproj/Localizable.strings
+++ b/deltachat-ios/sq.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Anuloje";
"clear_search" = "Spastroje Kërkimin";
@@ -443,7 +443,7 @@
"multidevice_title" = "Shtoni Pajisje të Dytë";
"multidevice_same_network_hint" = "Sigurohuni se të dy pajisjet janë në të njëjtin rrjet Wi-Fi ose klasik";
"multidevice_this_creates_a_qr_code" = "Kjo krijon një kod QR që pajisja e dytë mund ta skanojë për të kopjuar llogarinë.";
-"multidevice_install_dc_on_other_device" = "Instaloni Delta Chat-in në pajisjen tuaj tjetër (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Instaloni Delta Chat-in në pajisjen tuaj tjetër (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Nisni Delta Chat-in, prekni mbi “Shtoje si Pajisje të Dytë” dhe skanoni kodin e treguar këtu";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -828,7 +828,7 @@
"devicemsg_storage_exceeding" = "⚠️ Po mbaron depozita e shërbimit tuaj, përdoren tashmë %1$@%%.\n\nKur depozita është 100%% e përdorur, mund të mos jeni në gjendje të merrni mesazhe.\n\n👉 Ju lutemi, shihni se mos mund të fshini të dhëna të vjetra që nga ndërfaqja web e furnizuesit të shërbimit dhe shihni mundësinë të aktivizoni “Rregullime / Fshi Mesazhe të Vjetër”. Se sa depozitë është aktualisht e përdorur mund ta kontrolloni kurdo, që nga \"Rregullime / Lidhje\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Data ose koha e pajisjes tuaj duket të jetë e pasaktë (%1$@).\n\nRregulloni sahatin tuaj ⏰🔧 që të garantohet se mesazhet tuaj merren saktë.";
-"devicemsg_update_reminder" = "⚠️ Versioni juaj i Delta Chat-it duket të jetë i vjetruar.\n\nKjo mund të shkaktojë probleme, ngaqë partnerët tuaj të fjalosjes përdorin versione të rinj - dhe ju mungojnë veçoritë më të reja 😳\nPër përditësime, ju lutemi, shihni te https://get.delta.chat ose te shitorja juaj e aplikacioneve.";
+"devicemsg_update_reminder" = "⚠️ Versioni juaj i Delta Chat-it duket të jetë i vjetruar.\n\nKjo mund të shkaktojë probleme, ngaqë partnerët tuaj të fjalosjes përdorin versione të rinj - dhe ju mungojnë veçoritë më të reja 😳\nPër përditësime, ju lutemi, shihni te https://privittytech.com ose te shitorja juaj e aplikacioneve.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Që të vazhdohet, shkyçeni";
// qr code stuff
diff --git a/deltachat-ios/sr.lproj/Localizable.strings b/deltachat-ios/sr.lproj/Localizable.strings
index 0136db86b..1c64b8498 100644
--- a/deltachat-ios/sr.lproj/Localizable.strings
+++ b/deltachat-ios/sr.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "У реду";
"cancel" = "Откажи";
"clear_search" = "Избриши претрагу";
@@ -644,7 +644,7 @@
"devicemsg_storage_exceeding" = "⚠️ Складишни простор вашег имејл провајдера ће ускоро да понестане: %1$@%% већ се користи.\n\nМожда нећете моћи да примате поруке ако је складиште пунo.\n\n👉 Проверите да ли можете да избришете старе податке у веб интерфејсу провајдера и размислите да омогућите „Подешавања / Избриши старе поруке“ опцију. Можете да проверите тренутну употребу меморијског простора у било ком тренутку у „Подешавања / Повезивање“.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Изгледа да датум или време на вашем уређају нису тачни (%1$@).\n\nПодесите сат ⏰🔧 да бисте били сигурни да ће ваше поруке бити правилно примљене.";
-"devicemsg_update_reminder" = "⚠️ Ваша Delta Chat верзија је можда застарела.\n\nОво може да изазове проблеме јер ваши контакти за ћаскање користе новије верзије - а вама недостају најновије функционалности 😳\nДа би ажурирали апликацију проверите https://get.delta.chat или продавницу за апликација.";
+"devicemsg_update_reminder" = "⚠️ Ваша Delta Chat верзија је можда застарела.\n\nОво може да изазове проблеме јер ваши контакти за ћаскање користе новије верзије - а вама недостају најновије функционалности 😳\nДа би ажурирали апликацију проверите https://privittytech.com или продавницу за апликација.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Унесите своју системску тајну да бисте наставили.";
// qr code stuff
diff --git a/deltachat-ios/sv.lproj/Localizable.strings b/deltachat-ios/sv.lproj/Localizable.strings
index e058ba4a2..be61b60b5 100644
--- a/deltachat-ios/sv.lproj/Localizable.strings
+++ b/deltachat-ios/sv.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Avbryt";
"clear_search" = "Rensa sök";
@@ -396,7 +396,7 @@
"multidevice_title" = "Lägg till en andra enhet";
"multidevice_same_network_hint" = "Tillse att bägge enheterna är på samma WiFi eller nätverk";
"multidevice_this_creates_a_qr_code" = "Detta skapar en QR-kod som den andra enheten kan skanna för att kopiera profilen.";
-"multidevice_install_dc_on_other_device" = "Installera Delta Chat på din andra enhet (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Installera Delta Chat på din andra enhet (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Starta Delta Chat, tryck på \"Jag har redan en profil / Lägg till som andra enhet\" och skanna koden som visas här.";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -755,7 +755,7 @@
"devicemsg_storage_exceeding" = "⚠️ Din leverantörs lagringsutrymme är snart slut: %1$@%% är redan använt.\n\nDu kanske inte kan ta emot meddelanden om lagringsutrymmet är fullt.\n\n👉 Kontrollera om du kan radera gammal data i leverantörens webbgränssnitt och överväg att aktivera \"Inställningar / Chattar och media / Ta bort gamla meddelanden\". Du kan kontrollera din aktuella lagringsanvändning när som helst under \"Inställningar / Anslutning\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Datum eller tid på din enhet verkar vara felaktigt (%1$@).\n\nJustera din klocka ⏰🔧 för att säkerställa att dina meddelanden tas emot korrekt.";
-"devicemsg_update_reminder" = "⚠️ Din Delta Chat-version kan vara föråldrad.\n\nDetta kan orsaka problem eftersom dina chattpartners använder nyare versioner - och du saknar de senaste funktionerna 😳\nSök efter uppdateringar på https://get.delta.chat eller i din appbutik.";
+"devicemsg_update_reminder" = "⚠️ Din Delta Chat-version kan vara föråldrad.\n\nDetta kan orsaka problem eftersom dina chattpartners använder nyare versioner - och du saknar de senaste funktionerna 😳\nSök efter uppdateringar på https://privittytech.com eller i din appbutik.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Lås upp för att fortsätta";
// qr code stuff
diff --git a/deltachat-ios/ta.lproj/Localizable.strings b/deltachat-ios/ta.lproj/Localizable.strings
index 4fcafd8a6..20e0a9f0c 100644
--- a/deltachat-ios/ta.lproj/Localizable.strings
+++ b/deltachat-ios/ta.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "சரி";
"cancel" = "ரத்து செய்";
"yes" = "ஆம்";
diff --git a/deltachat-ios/te.lproj/Localizable.strings b/deltachat-ios/te.lproj/Localizable.strings
index 365c36911..4cd940e03 100644
--- a/deltachat-ios/te.lproj/Localizable.strings
+++ b/deltachat-ios/te.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "సరే";
"cancel" = "రద్దు";
"yes" = "అవును";
diff --git a/deltachat-ios/tr.lproj/Localizable.strings b/deltachat-ios/tr.lproj/Localizable.strings
index 5bcdd7733..3d86f880a 100644
--- a/deltachat-ios/tr.lproj/Localizable.strings
+++ b/deltachat-ios/tr.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Tamam";
"cancel" = "İptal";
"clear_search" = "Aramayı Temizle";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Ana Ekrana Ekle";
"donate" = "Bağış";
-"donate_device_msg" = "❤️ Delta Chat\'in tadını çıkarıyor gibisiniz!\n\nDelta Chat\'in herkes için ücretsiz kalmasını sağlamak için lütfen bağış yapmayı düşünün.\n\nDelta Chat, kullanımı ücretsiz ve açık kaynaklıdır, geliştirme paraya mâl olur. Delta Chat\'in bağımsızlığını korumak ve onu gelecekte daha da harika yapmak için bize yardımcı olun.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Privitty Chat\'in tadını çıkarıyor gibisiniz!\n\nDelta Chat\'in herkes için ücretsiz kalmasını sağlamak için lütfen bağış yapmayı düşünün.\n\nDelta Chat, kullanımı ücretsiz ve açık kaynaklıdır, geliştirme paraya mâl olur. Delta Chat\'in bağımsızlığını korumak ve onu gelecekte daha da harika yapmak için bize yardımcı olun.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "1 saatliğine sessize al";
"mute_for_eight_hours" = "8 saatliğine sessize al";
"mute_for_one_day" = "1 günlüğüne sessize al";
@@ -470,7 +470,7 @@
"multidevice_title" = "İkinci Aygıt Ekle";
"multidevice_same_network_hint" = "Her iki aygıtın da aynı Wi-Fi\'da ya da ağda olduğundan emin olun";
"multidevice_this_creates_a_qr_code" = "Bu, ikinci aygıtın profili kopyalamak için tarayabileceği bir QR kodu oluşturur.\n\nİstenmeyen gözlemcinin ya da kameranın aşağıdaki ekranı göremediğinden emin olun.";
-"multidevice_install_dc_on_other_device" = "Delta Chat\'i diğer aygıtınıza kurun (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Delta Chat\'i diğer aygıtınıza kurun (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Delta Chat\'i başlatın, “Zaten Bir Profilim Var / İkinci Aygıt Olarak Ekle”ye dokunun ve burada gösterilen kodu tarayın";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️ Sağlayıcınızın depolaması dolmak üzere: %1$@%% zaten kullanımda.\n\nDepolama tam dolduğunda iletileri alamayabilirsiniz.\n\n👉 Lütfen sağlayıcınızın web arabiriminden eski verileri silip silemeyeceğinizi denetleyin ve “Ayarlar / Sohbetler ve Ortamlar / Eski İletileri Sil”i etkinleştirmeyi düşünün. Herhangi bir zamanda şu anki depolama kullanımınızı “Ayarlar / Bağlanabilirlik”ten denetleyebilirsiniz.";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Aygıtınızdaki tarih ya da saat yanlış görünüyor (%1$@).\n\nİletilerinizin doğru şekilde alınmasını sağlamak için saatinizi ⏰🔧 ayarlayın.";
-"devicemsg_update_reminder" = "⚠️ Delta Chat sürümünüz eski olabilir.\n\nBu, sorunlara neden olabilir; çünkü sohbet ortaklarınız daha yeni sürümleri kullanıyor - ve en yeni özellikleri kaybediyorsunuz 😳\nGüncelleştirmeler için lütfen https://get.delta.chat ya da uygulama mağazanızı denetleyin.";
+"devicemsg_update_reminder" = "⚠️ Delta Chat sürümünüz eski olabilir.\n\nBu, sorunlara neden olabilir; çünkü sohbet ortaklarınız daha yeni sürümleri kullanıyor - ve en yeni özellikleri kaybediyorsunuz 😳\nGüncelleştirmeler için lütfen https://privittytech.com ya da uygulama mağazanızı denetleyin.";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Sürdürmek için kilidi açın";
// qr code stuff
diff --git a/deltachat-ios/uk.lproj/Localizable.strings b/deltachat-ios/uk.lproj/Localizable.strings
index a7cbf02ec..4ceae891a 100644
--- a/deltachat-ios/uk.lproj/Localizable.strings
+++ b/deltachat-ios/uk.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "Гаразд";
"cancel" = "Скасувати";
"clear_search" = "Очистити пошук";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "Додати на стартовий екран";
"donate" = "Задонатити";
-"donate_device_msg" = "❤️ Здається, вам подобається Delta Chat!\n\nПодумайте про пожертвування, щоб допомогти забезпечити безкоштовність Delta Chat для всіх.\n\nХоча Delta Chat є безкоштовним у використанні та з відкритим вихідним кодом, розробка коштує грошей. Допоможіть нам зберегти незалежність Delta Chat і зробити його ще більш чудовим у майбутньому.\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ Здається, вам подобається Privitty Chat!\n\nПодумайте про пожертвування, щоб допомогти забезпечити безкоштовність Delta Chat для всіх.\n\nХоча Delta Chat є безкоштовним у використанні та з відкритим вихідним кодом, розробка коштує грошей. Допоможіть нам зберегти незалежність Delta Chat і зробити його ще більш чудовим у майбутньому.\n\nhttps://privittytech.com";
"mute_for_one_hour" = "Вимкнути сповіщення на годину";
"mute_for_eight_hours" = "Вимкнути сповіщення на 8 годин";
"mute_for_one_day" = "Вимкнути сповіщення на добу";
@@ -470,7 +470,7 @@
"multidevice_title" = "Додати другий пристрій";
"multidevice_same_network_hint" = "Переконайтеся, що обидва пристрої підключено до однієї мережі Wi-Fi";
"multidevice_this_creates_a_qr_code" = "Це створить QR-код, який другий пристрій зможе відсканувати, щоб скопіювати профіль.\n\nПереконайтеся, що жоден небажаний спостерігач або камера не зможе побачити наступний екран.";
-"multidevice_install_dc_on_other_device" = "Установіть Delta Chat на Ваш інший пристрій (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Установіть Delta Chat на Ваш інший пристрій (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Запустіть Delta Chat, торкніться \"Я вже маю профіль / Додати як другий пристрій\" і відскануйте код, показаний тут";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -858,7 +858,7 @@
"devicemsg_storage_exceeding" = "⚠️ Сховище вашого провайдера електронної пошти майже заповнено, уже використовується %1$@%%.\n\nМожливо, Ви не зможете отримувати повідомлення, коли сховище буде заповнене.\n\n👉 Перевірте, чи можна видалити старі дані у веб-інтерфейсі провайдера та ввімкніть \"Налаштування / Видалити старі повідомлення\". Ви можете будь-коли перевірити своє поточне використання сховища в \"Налаштування / Підключення\". ";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Дата й час на вашому пристрої видаються неточними (%1$@).\n\nНалаштуйте свій годинник ⏰🔧 для правильного отримання повідомлень.";
-"devicemsg_update_reminder" = "⚠️ Ваша версія Delta Chat може бути застарілою.\n\nЦе може спричинити проблеми, оскільки Ваші співрозмовники в чаті використовують новіші версії, а Вам не вистачає найновіших функцій 😳 \nПеревірте оновлення на https://get.delta.chat або в магазині додатків. ";
+"devicemsg_update_reminder" = "⚠️ Ваша версія Delta Chat може бути застарілою.\n\nЦе може спричинити проблеми, оскільки Ваші співрозмовники в чаті використовують новіші версії, а Вам не вистачає найновіших функцій 😳 \nПеревірте оновлення на https://privittytech.com або в магазині додатків. ";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Введіть захисний код, щоб продовжити.";
// qr code stuff
diff --git a/deltachat-ios/vi.lproj/Localizable.strings b/deltachat-ios/vi.lproj/Localizable.strings
index 613068957..d98b7c1d0 100644
--- a/deltachat-ios/vi.lproj/Localizable.strings
+++ b/deltachat-ios/vi.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "OK";
"cancel" = "Hủy";
"clear_search" = "Dọn dẹp tìm kiếm";
@@ -387,7 +387,7 @@
"multidevice_title" = "Thêm thiết bị thứ hai";
"multidevice_same_network_hint" = "Đảm bảo cả hai thiết bị đều sử dụng cùng một Wi-Fi hoặc mạng";
"multidevice_this_creates_a_qr_code" = "Thao tác này sẽ tạo mã QR mà thiết bị thứ hai có thể quét để sao chép tài khoản.";
-"multidevice_install_dc_on_other_device" = "Cài đặt Delta Chat trên thiết bị khác của bạn (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "Cài đặt Delta Chat trên thiết bị khác của bạn (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "Bắt đầu Delta Chat, nhấn vào “Thêm làm thiết bị thứ hai” và quét mã được hiển thị ở đây";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -704,7 +704,7 @@
"devicemsg_storage_exceeding" = "⚠️ Bộ nhớ nhà cung cấp của bạn sắp hết: %1$@%% đã được sử dụng.\n\nBạn có thể không nhận được tin nhắn nếu bộ nhớ đầy.\n\n 👉 Vui lòng kiểm tra xem bạn có thể xóa không dữ liệu cũ trong giao diện web của nhà cung cấp và cân nhắc bật \"Cài đặt / Xóa tin nhắn cũ\". Bạn có thể kiểm tra mức sử dụng bộ nhớ hiện tại của mình bất kỳ lúc nào tại \"Cài đặt / Kết nối\".";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ Ngày hoặc giờ trên thiết bị của bạn có vẻ không chính xác (%1$@).\n\nĐiều chỉnh đồng hồ của bạn ⏰🔧 để đảm bảo tin nhắn của bạn được nhận chính xác.";
-"devicemsg_update_reminder" = "⚠️ Phiên bản Delta Chat của bạn có thể đã lỗi thời.\n\nĐiều này có thể gây ra sự cố vì đối tác trò chuyện của bạn sử dụng các phiên bản mới hơn - và bạn đang thiếu các tính năng mới nhất 😳\nVui lòng kiểm tra https://get.delta.chat hoặc cửa hàng ứng dụng của bạn để biết thông tin cập nhật .";
+"devicemsg_update_reminder" = "⚠️ Phiên bản Delta Chat của bạn có thể đã lỗi thời.\n\nĐiều này có thể gây ra sự cố vì đối tác trò chuyện của bạn sử dụng các phiên bản mới hơn - và bạn đang thiếu các tính năng mới nhất 😳\nVui lòng kiểm tra https://privittytech.com hoặc cửa hàng ứng dụng của bạn để biết thông tin cập nhật .";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "Mở khóa để tiếp tục";
// qr code stuff
diff --git a/deltachat-ios/zh-Hans.lproj/Localizable.strings b/deltachat-ios/zh-Hans.lproj/Localizable.strings
index d6970de55..bdca3a8cf 100644
--- a/deltachat-ios/zh-Hans.lproj/Localizable.strings
+++ b/deltachat-ios/zh-Hans.lproj/Localizable.strings
@@ -1,5 +1,5 @@
// common strings without special context
-"app_name" = "Delta Chat";
+"app_name" = "Privitty Chat";
"ok" = "确定";
"cancel" = "取消";
"clear_search" = "清除搜索";
@@ -306,7 +306,7 @@
// Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly.
"add_to_home_screen" = "添加到主屏幕";
"donate" = "捐赠";
-"donate_device_msg" = "❤️ 看起来您很喜欢 Delta Chat!\n\n恳请您考虑捐款支持,让 Delta Chat 始终保持自由开放。\n\n虽然 Delta Chat 是自由且开源的,但开发仍需资金支持。请帮助我们保持 Delta Chat 的独立性,并在未来让它变得更加出色。\n\nhttps://delta.chat/donate";
+"donate_device_msg" = "❤️ 看起来您很喜欢 Privitty Chat!\n\n恳请您考虑捐款支持,让 Delta Chat 始终保持自由开放。\n\n虽然 Delta Chat 是自由且开源的,但开发仍需资金支持。请帮助我们保持 Delta Chat 的独立性,并在未来让它变得更加出色。\n\nhttps://privittytech.com";
"mute_for_one_hour" = "静音 1 小时";
"mute_for_eight_hours" = "静音 8 小时";
"mute_for_one_day" = "静音 1 天";
@@ -470,7 +470,7 @@
"multidevice_title" = "添加第二台设备";
"multidevice_same_network_hint" = "让两台设备连接相同的 Wi-Fi 或网络";
"multidevice_this_creates_a_qr_code" = "这将创建一个二维码,第二台设备可以扫描该二维码来复制配置文件。\n\n请确保没有不必要的观察者或摄像机可以看到以下屏幕。";
-"multidevice_install_dc_on_other_device" = "在你的其他设备上安装 Delta Chat (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "在你的其他设备上安装 Delta Chat (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "启动 Delta Chat,点按“我已有账号/添加为第二台设备”,然后扫描此处显示的二维码";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -861,7 +861,7 @@
"devicemsg_storage_exceeding" = "⚠️邮件服务商提供的存储空间快满了,已使用 %1$@%%。\n\n如果存储空间用光,您可能无法接收消息。\n\n👉请检查是否可以在提供商的网页界面上删除旧数据,或考虑启用“设置/删除旧消息”。您可以在“设置/连接状态”中查看当前的存储使用情况。";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️设备的日期或时间似乎不准确 (%1$@)。\n\n请调整时钟⏰🔧以确保能够正确接收消息。";
-"devicemsg_update_reminder" = "⚠️您的 Delta Chat 版本可能过时了。\n\n这可能会在您的聊天伙伴使用更新的版本时造成问题。并且您缺失了最新功能😳\n请浏览 https://get.delta.chat 或应用商店来获取更新。";
+"devicemsg_update_reminder" = "⚠️您的 Delta Chat 版本可能过时了。\n\n这可能会在您的聊天伙伴使用更新的版本时造成问题。并且您缺失了最新功能😳\n请浏览 https://privittytech.com 或应用商店来获取更新。";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "解锁以继续";
// qr code stuff
diff --git a/deltachat-ios/zh-Hant.lproj/Localizable.strings b/deltachat-ios/zh-Hant.lproj/Localizable.strings
index 127c2f3e4..7fca8b301 100644
--- a/deltachat-ios/zh-Hant.lproj/Localizable.strings
+++ b/deltachat-ios/zh-Hant.lproj/Localizable.strings
@@ -448,7 +448,7 @@
"multidevice_title" = "新增另一個裝置";
"multidevice_same_network_hint" = "確保兩台裝置都連接到同一Wi-Fi或網路";
"multidevice_this_creates_a_qr_code" = "這將創建一個 QR 碼,第二台裝置可以掃描該 QR 碼以複製該賬戶。";
-"multidevice_install_dc_on_other_device" = "在您的其他裝置上安裝 Delta Chat (https://get.delta.chat)";
+"multidevice_install_dc_on_other_device" = "在您的其他裝置上安裝 Delta Chat (https://privittytech.com)";
// "I Already Have a Profile / Add as Second Device” should be the same text as defined by the keys onboarding_alternative_logins and multidevice_receiver_title
"multidevice_tap_scan_on_other_device" = "啟動 Delta Chat,點擊「我已經有一個賬戶/添加為第二台裝置」並掃描此處顯示的QR碼";
// Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by name and/or address eg. "Scan to set up second device for Alice (alice@example.org)"
@@ -834,7 +834,7 @@
"devicemsg_storage_exceeding" = "⚠️ 您的供應商的存儲空間即將用完:已使用%1$@%%。\n\n如果存儲空間已滿,您可能無法接收訊息。\n\n👉請檢查您是否可以在提供商的網頁介面中刪除舊數據,並考慮啟用「設定/聊天和媒體/刪除舊訊息」。您可以隨時在「設定/連接」 中檢查您目前的儲存使用方式。";
// %1%s will be replaced by date and time in some human-readable format
"devicemsg_bad_time" = "⚠️ 您裝置上的日期或時間似乎不準確 (%1$@)。\n\n調整您的時鐘⏰🔧以確保您的訊息被正確接收。";
-"devicemsg_update_reminder" = "⚠️ 您的 Delta Chat 版本可能已過時。\n\n這可能會導致問題,因為您的聊天夥伴使用的是較新的版本 - 而您缺少最新的功能😳\n請訪問 https://get.delta.chat 或您的應用商店以獲取更新。";
+"devicemsg_update_reminder" = "⚠️ 您的 Delta Chat 版本可能已過時。\n\n這可能會導致問題,因為您的聊天夥伴使用的是較新的版本 - 而您缺少最新的功能😳\n請訪問 https://privittytech.com 或您的應用商店以獲取更新。";
// Some options as "Add Second Device" or "Backup" may require the system PIN/Fingerprint/Gesture/Etc. to be entered in a system dialog. This hint is added to the system dialog, below a title as "Add Second Device" or "Backup".
"enter_system_secret_to_continue" = "解鎖以繼續";
// qr code stuff