summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2021-07-07 12:29:53 +0200
committerAndrej Mihajlov <and@mullvad.net>2021-07-21 12:16:37 +0200
commit361c40add00d9520edb4d1c6b58fbc4023716b19 (patch)
tree567d2894a28b131d7cb4a1e37baf3cceae73ed72
parent87bedd4e7ecf37c3048c9fdb1d94b129a99ff680 (diff)
downloadmullvadvpn-361c40add00d9520edb4d1c6b58fbc4023716b19.tar.xz
mullvadvpn-361c40add00d9520edb4d1c6b58fbc4023716b19.zip
Localize Consent
-rw-r--r--ios/MullvadVPN.xcodeproj/project.pbxproj12
-rw-r--r--ios/MullvadVPN/ConsentContentView.swift24
-rw-r--r--ios/MullvadVPN/en.lproj/Consent.strings11
3 files changed, 35 insertions, 12 deletions
diff --git a/ios/MullvadVPN.xcodeproj/project.pbxproj b/ios/MullvadVPN.xcodeproj/project.pbxproj
index 189773097a..77637d68fd 100644
--- a/ios/MullvadVPN.xcodeproj/project.pbxproj
+++ b/ios/MullvadVPN.xcodeproj/project.pbxproj
@@ -222,6 +222,7 @@
58F3C0A4249CB069003E76BE /* HeaderBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58F3C0A3249CB069003E76BE /* HeaderBarView.swift */; };
58F3C0A624A50157003E76BE /* relays.json in Resources */ = {isa = PBXBuildFile; fileRef = 58F3C0A524A50155003E76BE /* relays.json */; };
58F3C0A724A50C02003E76BE /* relays.json in Resources */ = {isa = PBXBuildFile; fileRef = 58F3C0A524A50155003E76BE /* relays.json */; };
+ 58F558DD2695B85E00F630D0 /* Consent.strings in Resources */ = {isa = PBXBuildFile; fileRef = 58F558DB2695B85E00F630D0 /* Consent.strings */; };
58F5590E2697002100F630D0 /* Main.strings in Resources */ = {isa = PBXBuildFile; fileRef = 58F559052697002000F630D0 /* Main.strings */; };
58F5590F2697002100F630D0 /* ConnectionPanel.strings in Resources */ = {isa = PBXBuildFile; fileRef = 58F559072697002100F630D0 /* ConnectionPanel.strings */; };
58F61F4F2692F21C00DCFC2B /* WireguardKeys.strings in Resources */ = {isa = PBXBuildFile; fileRef = 58F61F4D2692F21C00DCFC2B /* WireguardKeys.strings */; };
@@ -440,6 +441,7 @@
58F19E34228C15BA00C7710B /* SpinnerActivityIndicatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpinnerActivityIndicatorView.swift; sourceTree = "<group>"; };
58F3C0A3249CB069003E76BE /* HeaderBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderBarView.swift; sourceTree = "<group>"; };
58F3C0A524A50155003E76BE /* relays.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = relays.json; sourceTree = "<group>"; };
+ 58F558DC2695B85E00F630D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Consent.strings; sourceTree = "<group>"; };
58F559062697002000F630D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
58F559082697002100F630D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/ConnectionPanel.strings; sourceTree = "<group>"; };
58F61F4E2692F21C00DCFC2B /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/WireguardKeys.strings; sourceTree = "<group>"; };
@@ -549,6 +551,7 @@
581FC4F82695ACE100AA97BA /* Account.strings */,
582CFEE526945FC30072883A /* AppStoreSubscriptions.strings */,
58F559072697002100F630D0 /* ConnectionPanel.strings */,
+ 58F558DB2695B85E00F630D0 /* Consent.strings */,
587B7543266922BF00DEF7E9 /* Localizable.strings */,
58F559052697002000F630D0 /* Main.strings */,
582CFEE8269463B80072883A /* Settings.strings */,
@@ -958,6 +961,7 @@
buildActionMask = 2147483647;
files = (
58F3C0A624A50157003E76BE /* relays.json in Resources */,
+ 58F558DD2695B85E00F630D0 /* Consent.strings in Resources */,
58727283265D173C00F315B2 /* LaunchScreen.storyboard in Resources */,
586ADD4723FC13F400CE9E87 /* countries.geo.json in Resources */,
58F5590F2697002100F630D0 /* ConnectionPanel.strings in Resources */,
@@ -1297,6 +1301,14 @@
name = Localizable.strings;
sourceTree = "<group>";
};
+ 58F558DB2695B85E00F630D0 /* Consent.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 58F558DC2695B85E00F630D0 /* en */,
+ );
+ name = Consent.strings;
+ sourceTree = "<group>";
+ };
58F559052697002000F630D0 /* Main.strings */ = {
isa = PBXVariantGroup;
children = (
diff --git a/ios/MullvadVPN/ConsentContentView.swift b/ios/MullvadVPN/ConsentContentView.swift
index 40499a8914..a6cf6af654 100644
--- a/ios/MullvadVPN/ConsentContentView.swift
+++ b/ios/MullvadVPN/ConsentContentView.swift
@@ -17,7 +17,7 @@ class ConsentContentView: UIView {
titleLabel.numberOfLines = 0
titleLabel.textColor = .white
titleLabel.allowsDefaultTighteningForTruncation = true
- titleLabel.text = NSLocalizedString("Do you agree to remaining anonymous?", comment: "")
+ titleLabel.text = NSLocalizedString("PRIVACY_NOTICE_HEADING", tableName: "Consent", comment: "Heading.")
titleLabel.lineBreakMode = .byWordWrapping
if #available(iOS 14.0, *) {
// Disable the new line break strategy used by UIKit that moves at least two words
@@ -29,27 +29,23 @@ class ConsentContentView: UIView {
}()
let bodyLabel: UILabel = {
- let localizedText = NSLocalizedString("""
-You have a right to privacy. That’s why we never store activity logs, don't ask for personal information, and encourage anonymous payments.
-
-In some situations, as outlined in our privacy policy, we might process personal data that you choose to send, for example if you email us.
-
-We strongly believe in retaining as little data as possible because we want you to remain anonymous.
-""", comment: "")
-
let bodyLabel = UILabel()
bodyLabel.translatesAutoresizingMaskIntoConstraints = false
bodyLabel.font = UIFont.systemFont(ofSize: 18)
bodyLabel.textColor = .white
bodyLabel.numberOfLines = 0
- bodyLabel.text = localizedText
+ bodyLabel.text = NSLocalizedString("PRIVACY_NOTICE_BODY", tableName: "Consent", comment: "Body.")
return bodyLabel
}()
let privacyPolicyLink: LinkButton = {
let button = LinkButton()
button.translatesAutoresizingMaskIntoConstraints = false
- button.titleString = NSLocalizedString("Privacy policy", comment: "")
+ button.titleString = NSLocalizedString(
+ "PRIVACY_POLICY_LINK_TITLE",
+ tableName: "Consent",
+ comment: "Title for link to privacy policy web page."
+ )
button.setImage(UIImage(named: "IconExtlink"), for: .normal)
return button
}()
@@ -57,8 +53,12 @@ We strongly believe in retaining as little data as possible because we want you
let agreeButton: AppButton = {
let button = AppButton(style: .default)
button.translatesAutoresizingMaskIntoConstraints = false
- button.setTitle(NSLocalizedString("Agree and continue", comment: ""), for: .normal)
button.accessibilityIdentifier = "AgreeButton"
+ button.setTitle(NSLocalizedString(
+ "CONTINUE_BUTTON_TITLE",
+ tableName: "Consent",
+ comment: "Title for button used for agreeing with privacy notice."
+ ), for: .normal)
return button
}()
diff --git a/ios/MullvadVPN/en.lproj/Consent.strings b/ios/MullvadVPN/en.lproj/Consent.strings
new file mode 100644
index 0000000000..e130044128
--- /dev/null
+++ b/ios/MullvadVPN/en.lproj/Consent.strings
@@ -0,0 +1,11 @@
+/* Title for button used for agreeing with privacy notice. */
+"CONTINUE_BUTTON_TITLE" = "Agree and continue";
+
+/* Body. */
+"PRIVACY_NOTICE_BODY" = "You have a right to privacy. That’s why we never store activity logs, don't ask for personal information, and encourage anonymous payments.\n\nIn some situations, as outlined in our privacy policy, we might process personal data that you choose to send, for example if you email us.\n\nWe strongly believe in retaining as little data as possible because we want you to remain anonymous.";
+
+/* Heading. */
+"PRIVACY_NOTICE_HEADING" = "Do you agree to remaining anonymous?";
+
+/* Title for link to privacy policy web page. */
+"PRIVACY_POLICY_LINK_TITLE" = "Privacy policy";