Update onboarding privacy text to render Markdown

This commit is contained in:
Marcus Kida 2024-05-16 17:13:55 +02:00
parent 14393a26df
commit 41c34d4e82
No known key found for this signature in database
GPG Key ID: 19FF64E08013CA40
5 changed files with 21 additions and 11 deletions

View File

@ -363,8 +363,8 @@
"no_server_selected_hint": "Well pick a server based on your language if you continue without making a selection." "no_server_selected_hint": "Well pick a server based on your language if you continue without making a selection."
}, },
"privacy": { "privacy": {
"title": "Privacy", "title": "Your Privacy",
"description": "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy. Take a minute to review and agree to the Mastodon app privacy policy and your servers privacy policy.", "description": "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy.\n\nIf you disagree with the policy for **%s**, you can go back and pick a different server.",
"policy": { "policy": {
"ios": "Privacy Policy - Mastodon for iOS", "ios": "Privacy Policy - Mastodon for iOS",
"server": "Privacy Policy - %s" "server": "Privacy Policy - %s"

View File

@ -139,10 +139,16 @@ extension PrivacyTableViewController: UITableViewDelegate {
let label = UILabel() let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false label.translatesAutoresizingMaskIntoConstraints = false
label.numberOfLines = 0 label.numberOfLines = 0
label.text = L10n.Scene.Privacy.description
label.textColor = Asset.Colors.Label.primary.color label.textColor = Asset.Colors.Label.primary.color
wrapper.addSubview(label) wrapper.addSubview(label)
let text = L10n.Scene.Privacy.description(viewModel.domain)
if let data = text.data(using: .utf8), let attributedString = try? NSAttributedString(markdown: data) {
label.attributedText = attributedString
} else {
label.text = text
}
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
label.topAnchor.constraint(equalTo: wrapper.topAnchor, constant: 16), label.topAnchor.constraint(equalTo: wrapper.topAnchor, constant: 16),
label.leadingAnchor.constraint(equalTo: wrapper.leadingAnchor), label.leadingAnchor.constraint(equalTo: wrapper.leadingAnchor),

View File

@ -939,10 +939,14 @@ public enum L10n {
} }
} }
public enum Privacy { public enum Privacy {
/// Although the Mastodon app does not collect any data, the server you sign up through may have a different policy. Take a minute to review and agree to the Mastodon app privacy policy and your servers privacy policy. /// Although the Mastodon app does not collect any data, the server you sign up through may have a different policy.
public static let description = L10n.tr("Localizable", "Scene.Privacy.Description", fallback: "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy. Take a minute to review and agree to the Mastodon app privacy policy and your servers privacy policy.") ///
/// Privacy /// If you disagree with the policy for **%@**, you can go back and pick a different server.
public static let title = L10n.tr("Localizable", "Scene.Privacy.Title", fallback: "Privacy") public static func description(_ p1: Any) -> String {
return L10n.tr("Localizable", "Scene.Privacy.Description", String(describing: p1), fallback: "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy.\n\nIf you disagree with the policy for **%@**, you can go back and pick a different server.")
}
/// Your Privacy
public static let title = L10n.tr("Localizable", "Scene.Privacy.Title", fallback: "Your Privacy")
public enum Button { public enum Button {
/// I Agree /// I Agree
public static let confirm = L10n.tr("Localizable", "Scene.Privacy.Button.Confirm", fallback: "I Agree") public static let confirm = L10n.tr("Localizable", "Scene.Privacy.Button.Confirm", fallback: "I Agree")

View File

@ -335,10 +335,10 @@ uploaded to Mastodon.";
"Scene.Preview.Keyboard.ShowNext" = "Show Next"; "Scene.Preview.Keyboard.ShowNext" = "Show Next";
"Scene.Preview.Keyboard.ShowPrevious" = "Show Previous"; "Scene.Preview.Keyboard.ShowPrevious" = "Show Previous";
"Scene.Privacy.Button.Confirm" = "I Agree"; "Scene.Privacy.Button.Confirm" = "I Agree";
"Scene.Privacy.Description" = "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy. Take a minute to review and agree to the Mastodon app privacy policy and your servers privacy policy."; "Scene.Privacy.Description" = "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy.\n\nIf you disagree with the policy for **%@**, you can go back and pick a different server.";
"Scene.Privacy.Policy.Ios" = "Privacy Policy - Mastodon for iOS"; "Scene.Privacy.Policy.Ios" = "Privacy Policy - Mastodon for iOS";
"Scene.Privacy.Policy.Server" = "Privacy Policy - %@"; "Scene.Privacy.Policy.Server" = "Privacy Policy - %@";
"Scene.Privacy.Title" = "Privacy"; "Scene.Privacy.Title" = "Your Privacy";
"Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Double tap to open the list"; "Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Double tap to open the list";
"Scene.Profile.Accessibility.EditAvatarImage" = "Edit avatar image"; "Scene.Profile.Accessibility.EditAvatarImage" = "Edit avatar image";
"Scene.Profile.Accessibility.ShowAvatarImage" = "Show avatar image"; "Scene.Profile.Accessibility.ShowAvatarImage" = "Show avatar image";

View File

@ -325,10 +325,10 @@ uploaded to Mastodon.";
"Scene.Preview.Keyboard.ShowNext" = "Show Next"; "Scene.Preview.Keyboard.ShowNext" = "Show Next";
"Scene.Preview.Keyboard.ShowPrevious" = "Show Previous"; "Scene.Preview.Keyboard.ShowPrevious" = "Show Previous";
"Scene.Privacy.Button.Confirm" = "I Agree"; "Scene.Privacy.Button.Confirm" = "I Agree";
"Scene.Privacy.Description" = "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy. Take a minute to review and agree to the Mastodon app privacy policy and your servers privacy policy."; "Scene.Privacy.Description" = "Although the Mastodon app does not collect any data, the server you sign up through may have a different policy.\n\nIf you disagree with the policy for **%@**, you can go back and pick a different server.";
"Scene.Privacy.Policy.Ios" = "Privacy Policy - Mastodon for iOS"; "Scene.Privacy.Policy.Ios" = "Privacy Policy - Mastodon for iOS";
"Scene.Privacy.Policy.Server" = "Privacy Policy - %@"; "Scene.Privacy.Policy.Server" = "Privacy Policy - %@";
"Scene.Privacy.Title" = "Privacy"; "Scene.Privacy.Title" = "Your Privacy";
"Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Double tap to open the list"; "Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Double tap to open the list";
"Scene.Profile.Accessibility.EditAvatarImage" = "Edit avatar image"; "Scene.Profile.Accessibility.EditAvatarImage" = "Edit avatar image";
"Scene.Profile.Accessibility.ShowAvatarImage" = "Show avatar image"; "Scene.Profile.Accessibility.ShowAvatarImage" = "Show avatar image";