Skip to content

Commit

Permalink
Mention in paywall that all purchases support "Family Sharing" (#1138)
Browse files Browse the repository at this point in the history
Fixes #1130
  • Loading branch information
keeshux authored Feb 3, 2025
1 parent e799ae9 commit 59ac302
Show file tree
Hide file tree
Showing 15 changed files with 30 additions and 7 deletions.
4 changes: 4 additions & 0 deletions Packages/App/Sources/UILibrary/L10n/SwiftGen+Strings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,10 @@ public enum Strings {
/// Full version
public static let header = Strings.tr("Localizable", "views.paywall.sections.full_products.header", fallback: "Full version")
}
public enum Products {
/// All purchases support Family Sharing.
public static let footer = Strings.tr("Localizable", "views.paywall.sections.products.footer", fallback: "All purchases support Family Sharing.")
}
public enum RequiredFeatures {
/// Required features
public static let header = Strings.tr("Localizable", "views.paywall.sections.required_features.header", fallback: "Required features")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Käufe wiederherstellen";
"views.paywall.sections.all_features.header" = "Die Vollversion enthält";
"views.paywall.sections.full_products.header" = "Vollversion";
"views.paywall.sections.products.footer" = "Alle Käufe unterstützen die Familienfreigabe.";
"views.paywall.sections.required_features.header" = "Erforderliche Funktionen";
"views.paywall.sections.restore.footer" = "Wenn du diese App oder Funktion in der Vergangenheit gekauft hast, kannst du deine Käufe wiederherstellen.";
"views.paywall.sections.restore.header" = "Wiederherstellen";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Επαναφορά αγορών";
"views.paywall.sections.all_features.header" = "Η πλήρης έκδοση περιλαμβάνει";
"views.paywall.sections.full_products.header" = "Πλήρης έκδοση";
"views.paywall.sections.products.footer" = "Όλες οι αγορές υποστηρίζουν την Οικογενειακή Κοινή Χρήση.";
"views.paywall.sections.required_features.header" = "Απαιτούμενες λειτουργίες";
"views.paywall.sections.restore.footer" = "Εάν αγοράσατε αυτήν την εφαρμογή ή λειτουργία στο παρελθόν, μπορείτε να επαναφέρετε τις αγορές σας.";
"views.paywall.sections.restore.header" = "Επαναφορά";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
"views.paywall.sections.required_features.header" = "Required features";
"views.paywall.sections.full_products.header" = "Full version";
"views.paywall.sections.all_features.header" = "Full version includes";
"views.paywall.sections.products.footer" = "All purchases support Family Sharing.";
"views.paywall.sections.restore.header" = "Restore";
"views.paywall.sections.restore.footer" = "If you bought this app or feature in the past, you can restore your purchases.";
"views.paywall.rows.restore_purchases" = "Restore purchases";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Restaurar compras";
"views.paywall.sections.all_features.header" = "La versión completa incluye";
"views.paywall.sections.full_products.header" = "Versión completa";
"views.paywall.sections.products.footer" = "Todas las compras admiten En Familia.";
"views.paywall.sections.required_features.header" = "Características requeridas";
"views.paywall.sections.restore.footer" = "Si compraste esta app o característica en el pasado, puedes restaurar tus compras.";
"views.paywall.sections.restore.header" = "Restaurar";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Restaurer les achats";
"views.paywall.sections.all_features.header" = "La version complète inclut";
"views.paywall.sections.full_products.header" = "Version complète";
"views.paywall.sections.products.footer" = "Tous les achats prennent en charge le Partage familial.";
"views.paywall.sections.required_features.header" = "Fonctionnalités requises";
"views.paywall.sections.restore.footer" = "Si vous avez acheté cette application ou cette fonctionnalité dans le passé, vous pouvez restaurer vos achats.";
"views.paywall.sections.restore.header" = "Restaurer";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Ripristina acquisti";
"views.paywall.sections.all_features.header" = "La versione completa include";
"views.paywall.sections.full_products.header" = "Versione completa";
"views.paywall.sections.products.footer" = "Tutti gli acquisti supportano “In famiglia”.";
"views.paywall.sections.required_features.header" = "Funzionalità richieste";
"views.paywall.sections.restore.footer" = "Se hai acquistato questa app o funzionalità in passato, puoi ripristinare i tuoi acquisti.";
"views.paywall.sections.restore.header" = "Ripristina";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Aankopen herstellen";
"views.paywall.sections.all_features.header" = "De volledige versie bevat";
"views.paywall.sections.full_products.header" = "Volledige versie";
"views.paywall.sections.products.footer" = "Alle aankopen ondersteunen Delen met gezin.";
"views.paywall.sections.required_features.header" = "Vereiste functies";
"views.paywall.sections.restore.footer" = "Als je deze app of functie eerder hebt gekocht, kun je je aankopen herstellen.";
"views.paywall.sections.restore.header" = "Herstellen";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Przywróć zakupy";
"views.paywall.sections.all_features.header" = "Pełna wersja zawiera";
"views.paywall.sections.full_products.header" = "Pełna wersja";
"views.paywall.sections.products.footer" = "Wszystkie zakupy obsługują Chmurę rodzinną.";
"views.paywall.sections.required_features.header" = "Wymagane funkcje";
"views.paywall.sections.restore.footer" = "Jeśli wcześniej kupiłeś tę aplikację lub funkcję, możesz przywrócić swoje zakupy.";
"views.paywall.sections.restore.header" = "Przywróć";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Restaurar compras";
"views.paywall.sections.all_features.header" = "A versão completa inclui";
"views.paywall.sections.full_products.header" = "Versão completa";
"views.paywall.sections.products.footer" = "Todas as compras são compatíveis com Compartilhamento Familiar.";
"views.paywall.sections.required_features.header" = "Recursos necessários";
"views.paywall.sections.restore.footer" = "Se você comprou este app ou recurso no passado, pode restaurar suas compras.";
"views.paywall.sections.restore.header" = "Restaurar";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Восстановить покупки";
"views.paywall.sections.all_features.header" = "Полная версия включает";
"views.paywall.sections.full_products.header" = "Полная версия";
"views.paywall.sections.products.footer" = "Все покупки поддерживают Семейный доступ.";
"views.paywall.sections.required_features.header" = "Необходимые функции";
"views.paywall.sections.restore.footer" = "Если вы уже купили это приложение или функцию в прошлом, вы можете восстановить свои покупки.";
"views.paywall.sections.restore.header" = "Восстановить";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Återställ köp";
"views.paywall.sections.all_features.header" = "Den fullständiga versionen innehåller";
"views.paywall.sections.full_products.header" = "Fullständig version";
"views.paywall.sections.products.footer" = "Alla köp stöder Familjedelning.";
"views.paywall.sections.required_features.header" = "Krävda funktioner";
"views.paywall.sections.restore.footer" = "Om du har köpt denna app eller funktion tidigare kan du återställa dina köp.";
"views.paywall.sections.restore.header" = "Återställ";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "Відновити покупки";
"views.paywall.sections.all_features.header" = "Повна версія включає";
"views.paywall.sections.full_products.header" = "Повна версія";
"views.paywall.sections.products.footer" = "Усі покупки підтримують “Сімейний доступ”.";
"views.paywall.sections.required_features.header" = "Необхідні функції";
"views.paywall.sections.restore.footer" = "Якщо ви раніше купували цей додаток або функцію, ви можете відновити свої покупки.";
"views.paywall.sections.restore.header" = "Відновлення";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
"views.paywall.rows.restore_purchases" = "恢复购买";
"views.paywall.sections.all_features.header" = "完整版本包括";
"views.paywall.sections.full_products.header" = "完整版本";
"views.paywall.sections.products.footer" = "所有购买均支持“家人共享”。";
"views.paywall.sections.required_features.header" = "必需功能";
"views.paywall.sections.restore.footer" = "如果您过去购买过此应用或功能,可以恢复您的购买记录。";
"views.paywall.sections.restore.header" = "恢复";
Expand Down
20 changes: 13 additions & 7 deletions Packages/App/Sources/UILibrary/Views/Paywall/PaywallView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,11 @@ private extension PaywallView {
onError: onError
)
}
.themeSection(header: Strings.Global.Nouns.products)
.themeSection(
header: Strings.Global.Nouns.products,
footer: Strings.Views.Paywall.Sections.Products.footer,
forcesFooter: true
)
}
}

Expand All @@ -143,16 +147,18 @@ private extension PaywallView {
)
}
}
.themeSection(header: Strings.Views.Paywall.Sections.FullProducts.header)
.themeSection(
header: Strings.Views.Paywall.Sections.FullProducts.header,
footer: Strings.Views.Paywall.Sections.Products.footer,
forcesFooter: true
)
}
}

var linksView: some View {
fullIAPs.nilIfEmpty.map { _ in
Section {
Link(Strings.Unlocalized.eula, destination: Constants.shared.websites.eula)
Link(Strings.Views.About.Links.Rows.privacyPolicy, destination: Constants.shared.websites.privacyPolicy)
}
Section {
Link(Strings.Unlocalized.eula, destination: Constants.shared.websites.eula)
Link(Strings.Views.About.Links.Rows.privacyPolicy, destination: Constants.shared.websites.privacyPolicy)
}
}

Expand Down

0 comments on commit 59ac302

Please sign in to comment.