Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
3a875c3c8e
commit
d7c69cde72
@ -17,6 +17,7 @@ struct SettingsView: View {
|
||||
|
||||
@State private var hasChanges = false
|
||||
@State private var showClearDataAlert = false
|
||||
@State private var showPrivacyPolicy = false
|
||||
|
||||
/// App version string from bundle info
|
||||
private var appVersionString: String {
|
||||
@ -248,7 +249,24 @@ struct SettingsView: View {
|
||||
}
|
||||
}
|
||||
|
||||
// 8. Reset to Defaults
|
||||
// 8. Legal
|
||||
SheetSection(title: String(localized: "LEGAL"), icon: "doc.text") {
|
||||
Button {
|
||||
showPrivacyPolicy = true
|
||||
} label: {
|
||||
HStack {
|
||||
Text(String(localized: "Privacy Policy"))
|
||||
.font(.system(size: Design.BaseFontSize.body, weight: .medium))
|
||||
.foregroundStyle(.white)
|
||||
Spacer()
|
||||
Image(systemName: "chevron.right")
|
||||
.font(.system(size: Design.BaseFontSize.body))
|
||||
.foregroundStyle(.white.opacity(Design.Opacity.medium))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 9. Reset to Defaults
|
||||
Button {
|
||||
settings.resetToDefaults()
|
||||
hasChanges = true
|
||||
@ -295,6 +313,12 @@ struct SettingsView: View {
|
||||
} message: {
|
||||
Text(String(localized: "This will delete all saved progress, statistics, and reset your balance. This cannot be undone."))
|
||||
}
|
||||
.sheet(isPresented: $showPrivacyPolicy) {
|
||||
PrivacyPolicyView(
|
||||
developerName: "Your Name", // TODO: Replace with your name/company
|
||||
contactEmail: "your@email.com" // TODO: Replace with your email
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -14,6 +14,7 @@ struct SettingsView: View {
|
||||
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
@State private var showClearDataAlert = false
|
||||
@State private var showPrivacyPolicy = false
|
||||
|
||||
/// App version string from bundle info
|
||||
private var appVersionString: String {
|
||||
@ -295,7 +296,24 @@ struct SettingsView: View {
|
||||
}
|
||||
}
|
||||
|
||||
// 10. Reset to Defaults
|
||||
// 10. Legal
|
||||
SheetSection(title: String(localized: "LEGAL"), icon: "doc.text") {
|
||||
Button {
|
||||
showPrivacyPolicy = true
|
||||
} label: {
|
||||
HStack {
|
||||
Text(String(localized: "Privacy Policy"))
|
||||
.font(.system(size: Design.BaseFontSize.body, weight: .medium))
|
||||
.foregroundStyle(.white)
|
||||
Spacer()
|
||||
Image(systemName: "chevron.right")
|
||||
.font(.system(size: Design.BaseFontSize.body))
|
||||
.foregroundStyle(.white.opacity(Design.Opacity.medium))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 11. Reset to Defaults
|
||||
Button {
|
||||
settings.resetToDefaults()
|
||||
} label: {
|
||||
@ -315,7 +333,7 @@ struct SettingsView: View {
|
||||
.padding(.horizontal)
|
||||
.padding(.top, Design.Spacing.small)
|
||||
|
||||
// 11. Version info
|
||||
// 12. Version info
|
||||
Text(appVersionString)
|
||||
.font(.system(size: Design.BaseFontSize.small))
|
||||
.foregroundStyle(.white.opacity(Design.Opacity.light))
|
||||
@ -338,6 +356,12 @@ struct SettingsView: View {
|
||||
} message: {
|
||||
Text(String(localized: "This will delete all saved progress, statistics, and reset your balance. This cannot be undone."))
|
||||
}
|
||||
.sheet(isPresented: $showPrivacyPolicy) {
|
||||
PrivacyPolicyView(
|
||||
developerName: "Your Name", // TODO: Replace with your name/company
|
||||
contactEmail: "your@email.com" // TODO: Replace with your email
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,27 @@
|
||||
"strings" : {
|
||||
"%lld" : {
|
||||
"comment" : "A badge displaying a numeric value. The argument is the numeric value to display.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"%lld dollar bet" : {
|
||||
"localizations" : {
|
||||
@ -51,34 +71,193 @@
|
||||
},
|
||||
"%lld%%" : {
|
||||
"comment" : "A text displaying the current volume percentage. The argument is a value between 0.0 (no volume) and 1.0 (full volume).",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld%%"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld%%"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld%%"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"%lldpt" : {
|
||||
"comment" : "A caption below an app icon that shows its size in points. The argument is the size of the icon in points.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lldpt"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lldpt"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lldpt"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$" : {
|
||||
"comment" : "The dollar sign used in the top bar.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$%@" : {
|
||||
"comment" : "The value of the balance displayed in the top bar.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$%@"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$%@"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%@ $"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$%lld bet" : {
|
||||
"comment" : "A value describing the bet amount in the accessibility label. The argument is the bet amount.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "$%lld bet"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Apuesta de $%lld"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Mise de %lld $"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"1. Use Xcode's preview to screenshot these icons" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "1. Use Xcode's preview to screenshot these icons"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "1. Usa la vista previa de Xcode para capturar estos iconos"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "1. Utilisez l'aperçu de Xcode pour capturer ces icônes"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"2. Or use IconRenderer.renderAppIcon() in code" : {
|
||||
"comment" : "An instruction in the Icon Export View explaining how to generate app icons using code.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "2. Or use IconRenderer.renderAppIcon() in code"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "2. O usa IconRenderer.renderAppIcon() en el código"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "2. Ou utilisez IconRenderer.renderAppIcon() dans le code"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"3. Add generated images to Assets.xcassets/AppIcon" : {
|
||||
"comment" : "Instructions for adding generated app icon images to Xcode's asset catalog.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "3. Add generated images to Assets.xcassets/AppIcon"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "3. Agrega las imágenes generadas a Assets.xcassets/AppIcon"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "3. Ajoutez les images générées à Assets.xcassets/AppIcon"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ace" : {
|
||||
"localizations" : {
|
||||
@ -104,7 +283,27 @@
|
||||
},
|
||||
"App Icon Preview" : {
|
||||
"comment" : "A title for the preview section of the icon export view.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "App Icon Preview"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Vista previa del icono"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Aperçu de l'icône"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Balance" : {
|
||||
"localizations" : {
|
||||
@ -130,7 +329,27 @@
|
||||
},
|
||||
"Betting disabled" : {
|
||||
"comment" : "A hint that appears when a betting zone is disabled.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Betting disabled"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Apuestas deshabilitadas"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Mises désactivées"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Card face down" : {
|
||||
"localizations" : {
|
||||
@ -288,7 +507,27 @@
|
||||
},
|
||||
"Double tap to place bet" : {
|
||||
"comment" : "A hint text describing the action to take in the betting zone.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Double tap to place bet"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Toca dos veces para apostar"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Appuyez deux fois pour miser"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Eight" : {
|
||||
"localizations" : {
|
||||
@ -358,7 +597,27 @@
|
||||
},
|
||||
"Export Instructions" : {
|
||||
"comment" : "A section header describing how to export app icons.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Export Instructions"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Instrucciones de exportación"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Instructions d'exportation"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Five" : {
|
||||
"localizations" : {
|
||||
@ -580,6 +839,28 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"LEGAL" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "LEGAL"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "LEGAL"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "LÉGAL"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"MAX" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@ -670,7 +951,27 @@
|
||||
},
|
||||
"No bet" : {
|
||||
"comment" : "A description of a zone with no active bet.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "No bet"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Sin apuesta"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Pas de mise"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Perfect for learning" : {
|
||||
"localizations" : {
|
||||
@ -916,7 +1217,27 @@
|
||||
},
|
||||
"Size Variants" : {
|
||||
"comment" : "A heading for the different sizes of the app icon previews.",
|
||||
"isCommentAutoGenerated" : true
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Size Variants"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Variantes de tamaño"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Variantes de taille"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Spades" : {
|
||||
"localizations" : {
|
||||
@ -1116,6 +1437,292 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Privacy Policy" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Privacy Policy"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Política de privacidad"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Politique de confidentialité"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Done" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Done"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Listo"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Terminé"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Last Updated: %@" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Last Updated: %@"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Última actualización: %@"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Dernière mise à jour: %@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Information Collection" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Information Collection"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Recopilación de información"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Collecte d'informations"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app does not collect, store, or transmit any personal information. We do not require you to create an account or provide any personal details to use this app." : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "This app does not collect, store, or transmit any personal information. We do not require you to create an account or provide any personal details to use this app."
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Esta aplicación no recopila, almacena ni transmite ninguna información personal. No requerimos que crees una cuenta ni que proporciones ningún dato personal para usar esta aplicación."
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Cette application ne collecte, ne stocke ni ne transmet aucune information personnelle. Nous ne vous demandons pas de créer un compte ni de fournir des informations personnelles pour utiliser cette application."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Data Usage" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Data Usage"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Uso de datos"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Utilisation des données"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"All game data (balance, statistics, settings) is stored locally on your device. If you enable iCloud sync, this data may be stored in your personal iCloud account to sync across your devices." : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "All game data (balance, statistics, settings) is stored locally on your device. If you enable iCloud sync, this data may be stored in your personal iCloud account to sync across your devices."
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Todos los datos del juego (saldo, estadísticas, configuración) se almacenan localmente en tu dispositivo. Si habilitas la sincronización de iCloud, estos datos pueden almacenarse en tu cuenta personal de iCloud para sincronizarlos entre tus dispositivos."
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Toutes les données du jeu (solde, statistiques, paramètres) sont stockées localement sur votre appareil. Si vous activez la synchronisation iCloud, ces données peuvent être stockées dans votre compte iCloud personnel pour la synchronisation entre vos appareils."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Third-Party Sharing" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Third-Party Sharing"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Compartir con terceros"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Partage avec des tiers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"We do not share any information with third parties. This app does not contain any third-party analytics, advertising, or tracking services." : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "We do not share any information with third parties. This app does not contain any third-party analytics, advertising, or tracking services."
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "No compartimos ninguna información con terceros. Esta aplicación no contiene ningún servicio de análisis, publicidad ni seguimiento de terceros."
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Nous ne partageons aucune information avec des tiers. Cette application ne contient aucun service d'analyse, de publicité ou de suivi tiers."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Data Security" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Data Security"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Seguridad de datos"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Sécurité des données"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Your game data is stored securely on your device using standard iOS data protection. We do not have access to any of your data." : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Your game data is stored securely on your device using standard iOS data protection. We do not have access to any of your data."
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Los datos de tu juego se almacenan de forma segura en tu dispositivo utilizando la protección de datos estándar de iOS. No tenemos acceso a ninguno de tus datos."
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Les données de votre jeu sont stockées de manière sécurisée sur votre appareil en utilisant la protection des données standard d'iOS. Nous n'avons accès à aucune de vos données."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Contact" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Contact"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Contacto"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Contact"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"If you have any questions about this Privacy Policy, please contact:" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "If you have any questions about this Privacy Policy, please contact:"
|
||||
}
|
||||
},
|
||||
"es-MX" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Si tienes alguna pregunta sobre esta Política de privacidad, por favor contacta:"
|
||||
}
|
||||
},
|
||||
"fr-CA" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Si vous avez des questions concernant cette Politique de confidentialité, veuillez contacter:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"You've run out of chips!" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user