From 2cd2946a80e00a3a4eae86ef74d24e667fb56dc3 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 24 Dec 2025 12:19:59 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- Blackjack/Blackjack/Engine/GameState.swift | 5 +- .../Blackjack/Resources/Localizable.xcstrings | 9092 +++++++++-------- .../Blackjack/Theme/DesignConstants.swift | 7 + .../Blackjack/Views/Game/GameTableView.swift | 29 +- .../Views/Table/BlackjackTableView.swift | 102 +- .../Blackjack/Views/Table/HintViews.swift | 9 +- 6 files changed, 4638 insertions(+), 4606 deletions(-) diff --git a/Blackjack/Blackjack/Engine/GameState.swift b/Blackjack/Blackjack/Engine/GameState.swift index fae7647..099f7d2 100644 --- a/Blackjack/Blackjack/Engine/GameState.swift +++ b/Blackjack/Blackjack/Engine/GameState.swift @@ -53,6 +53,9 @@ final class GameState { /// Whether to show side bet toast notifications. var showSideBetToasts: Bool = false + /// Whether to show the gameplay hint toast. + var showHintToast: Bool = false + /// Whether a reshuffle notification should be shown. var showReshuffleNotification: Bool = false @@ -787,7 +790,7 @@ final class GameState { // Auto-hide toasts after delay Task { - try? await Task.sleep(for: .seconds(3)) + try? await Task.sleep(for: Design.Toast.duration) showSideBetToasts = false } } diff --git a/Blackjack/Blackjack/Resources/Localizable.xcstrings b/Blackjack/Blackjack/Resources/Localizable.xcstrings index c02c1e8..28751e0 100644 --- a/Blackjack/Blackjack/Resources/Localizable.xcstrings +++ b/Blackjack/Blackjack/Resources/Localizable.xcstrings @@ -1,6997 +1,7001 @@ { - "sourceLanguage": "en", - "strings": { - "-$%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "-$%lld" + "sourceLanguage" : "en", + "strings" : { + "-$%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "-$%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "-$%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "-$%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "-%lld $" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "-%lld $" } } } }, - "%@": { - "comment": "A label displaying the current true count for a card counting practice session. The argument is the true count, formatted to one decimal place.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@" + "%@" : { + "comment" : "A label displaying the current true count for a card counting practice session. The argument is the true count, formatted to one decimal place.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } } } }, - "%@ bet, pays up to %@": { - "comment": "An accessibility label describing the side bet type, the payout, and the current bet amount (if any).", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ bet, pays up to %2$@" - } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta %1$@, paga hasta %2$@" + "%@ bet, pays up to %@" : { + "comment" : "An accessibility label describing the side bet type, the payout, and the current bet amount (if any).", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ bet, pays up to %2$@" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta %1$@, paga hasta %2$@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pari %1$@, paie jusqu'à %2$@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pari %1$@, paie jusqu'à %2$@" } } } }, - "%@: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@: %2$@" + "%@: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%1$@: %2$@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%1$@ : %2$@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ : %2$@" } } } }, - "%lld": { - "comment": "A label displaying the amount wagered in the current hand. The argument is the amount wagered in the current hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld" : { + "comment" : "A label displaying the amount wagered in the current hand. The argument is the amount wagered in the current hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } } } }, - "%lld.": { - "comment": "A numbered list item with a callout number and accompanying text. The first argument is the number of the item. The second argument is the text of the item.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld." + "%lld." : { + "comment" : "A numbered list item with a callout number and accompanying text. The first argument is the number of the item. The second argument is the text of the item.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld." } } } }, - "%lldpx": { - "comment": "A text label displaying the size of the app icon. The argument is the size of the icon in pixels.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lldpx" + "%lldpx" : { + "comment" : "A text label displaying the size of the app icon. The argument is the size of the icon in pixels.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpx" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lldpx" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpx" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lldpx" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpx" } } } }, - "•": { - "comment": "A bullet point symbol used in lists.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "•" + "•" : { + "comment" : "A bullet point symbol used in lists.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "•" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "•" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" } } } }, - "• Add to Assets.xcassets/AppIcon": { - "comment": "A bullet point describing how to add an app icon to Xcode's asset catalog.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Add to Assets.xcassets/AppIcon" + "• Add to Assets.xcassets/AppIcon" : { + "comment" : "A bullet point describing how to add an app icon to Xcode's asset catalog.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Add to Assets.xcassets/AppIcon" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Agregar a Assets.xcassets/AppIcon" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Agregar a Assets.xcassets/AppIcon" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Ajouter à Assets.xcassets/AppIcon" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Ajouter à Assets.xcassets/AppIcon" } } } }, - "• Call IconRenderer.renderAppIcon(config: .blackjack)": { - "comment": "A bullet point in the \"Option 2: Use IconRenderer in Code\" section of the BrandingPreviewView.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Call IconRenderer.renderAppIcon(config: .blackjack)" + "• Call IconRenderer.renderAppIcon(config: .blackjack)" : { + "comment" : "A bullet point in the \"Option 2: Use IconRenderer in Code\" section of the BrandingPreviewView.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Call IconRenderer.renderAppIcon(config: .blackjack)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Llamar IconRenderer.renderAppIcon(config: .blackjack)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Llamar IconRenderer.renderAppIcon(config: .blackjack)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Appeler IconRenderer.renderAppIcon(config: .blackjack)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Appeler IconRenderer.renderAppIcon(config: .blackjack)" } } } }, - "• Run the preview in Xcode": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Run the preview in Xcode" + "• Run the preview in Xcode" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Run the preview in Xcode" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Ejecutar la vista previa en Xcode" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Ejecutar la vista previa en Xcode" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Exécuter l'aperçu dans Xcode" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Exécuter l'aperçu dans Xcode" } } } }, - "• Save the resulting UIImage to files": { - "comment": "A step in the process of exporting app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Save the resulting UIImage to files" + "• Save the resulting UIImage to files" : { + "comment" : "A step in the process of exporting app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Save the resulting UIImage to files" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Guardar la UIImage resultante en archivos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Guardar la UIImage resultante en archivos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Enregistrer l'UIImage résultante dans les fichiers" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Enregistrer l'UIImage résultante dans les fichiers" } } } }, - "• Screenshot the 1024px icon": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Screenshot the 1024px icon" + "• Screenshot the 1024px icon" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Screenshot the 1024px icon" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Capturar el icono de 1024px" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Capturar el icono de 1024px" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Capturer l'icône 1024px" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Capturer l'icône 1024px" } } } }, - "• Use an online tool to generate all sizes": { - "comment": "A step in the process of exporting app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "• Use an online tool to generate all sizes" + "• Use an online tool to generate all sizes" : { + "comment" : "A step in the process of exporting app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Use an online tool to generate all sizes" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "• Usar una herramienta en línea para generar todos los tamaños" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Usar una herramienta en línea para generar todos los tamaños" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "• Utiliser un outil en ligne pour générer toutes les tailles" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "• Utiliser un outil en ligne pour générer toutes les tailles" } } } }, - "+%@": { - "comment": "A label showing the true count for card counting. The number is formatted to one decimal place.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+%@" + "+%@" : { + "comment" : "A label showing the true count for card counting. The number is formatted to one decimal place.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "+%@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "+%@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%@" } } } }, - "+%lld": { - "comment": "A label that displays the running count of cards in a Hi-Lo card counting practice session. The text inside the label changes color based on whether the count is positive or negative.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+%lld" + "+%lld" : { + "comment" : "A label that displays the running count of cards in a Hi-Lo card counting practice session. The text inside the label changes color based on whether the count is positive or negative.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "+%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "+%lld" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld" } } } }, - "+$%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+$%lld" + "+$%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+$%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "+$%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "+$%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "+%lld $" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld $" } } } }, - "1 Deck: Lowest house edge (~0.17%), rare to find.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 Deck: Lowest house edge (~0.17%), rare to find." + "1 Deck: Lowest house edge (~0.17%), rare to find." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 Deck: Lowest house edge (~0.17%), rare to find." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "1 Baraja: Ventaja más baja (~0.17%), difícil de encontrar." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 Baraja: Ventaja más baja (~0.17%), difícil de encontrar." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "1 Jeu: Avantage le plus bas (~0.17%), rare à trouver." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 Jeu: Avantage le plus bas (~0.17%), rare à trouver." } } } }, - "2 Decks: Low house edge (~0.35%), common online.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2 Decks: Low house edge (~0.35%), common online." + "2 Decks: Low house edge (~0.35%), common online." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 Decks: Low house edge (~0.35%), common online." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "2 Barajas: Ventaja baja (~0.35%), común en línea." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 Barajas: Ventaja baja (~0.35%), común en línea." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "2 Jeux: Faible avantage (~0.35%), courant en ligne." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 Jeux: Faible avantage (~0.35%), courant en ligne." } } } }, - "2-6: +1 (low cards favor house)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2-6: +1 (low cards favor house)" + "2-6: +1 (low cards favor house)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-6: +1 (low cards favor house)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "2-6: +1 (cartas bajas favorecen la casa)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-6: +1 (cartas bajas favorecen la casa)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "2-6: +1 (les cartes basses favorisent la maison)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-6: +1 (les cartes basses favorisent la maison)" } } } }, - "2-10: Face value": { - "comment": "Description of the card values for cards with values 2 through 10.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2-10: Face value" + "2-10: Face value" : { + "comment" : "Description of the card values for cards with values 2 through 10.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-10: Face value" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "2-10: Valor nominal" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-10: Valor nominal" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "2-10: Valeur faciale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "2-10: Valeur faciale" } } } }, - "4 Decks: Moderate house edge (~0.45%).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "4 Decks: Moderate house edge (~0.45%)." + "4 Decks: Moderate house edge (~0.45%)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 Decks: Moderate house edge (~0.45%)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "4 Barajas: Ventaja moderada (~0.45%)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 Barajas: Ventaja moderada (~0.45%)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "4 Jeux: Avantage modéré (~0.45%)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 Jeux: Avantage modéré (~0.45%)." } } } }, - "6 decks shuffled together.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "6 decks shuffled together." + "6 decks shuffled together." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 decks shuffled together." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "6 barajas mezcladas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 barajas mezcladas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "6 jeux mélangés ensemble." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 jeux mélangés ensemble." } } } }, - "6 Decks: Standard in Vegas (~0.50%).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "6 Decks: Standard in Vegas (~0.50%)." + "6 Decks: Standard in Vegas (~0.50%)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 Decks: Standard in Vegas (~0.50%)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "6 Barajas: Estándar en Vegas (~0.50%)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 Barajas: Estándar en Vegas (~0.50%)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "6 Jeux: Standard à Vegas (~0.50%)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 Jeux: Standard à Vegas (~0.50%)." } } } }, - "6:5 Blackjack (avoid!): Increases house edge by ~1.4%.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "6:5 Blackjack (avoid!): Increases house edge by ~1.4%." + "6:5 Blackjack (avoid!): Increases house edge by ~1.4%." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "6:5 Blackjack (avoid!): Increases house edge by ~1.4%." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjack 6:5 (¡evitar!): Aumenta la ventaja en ~1.4%." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack 6:5 (¡evitar!): Aumenta la ventaja en ~1.4%." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Blackjack 6:5 (éviter!): Augmente l'avantage de ~1.4%." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack 6:5 (éviter!): Augmente l'avantage de ~1.4%." } } } }, - "7-9: 0 (neutral cards)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "7-9: 0 (neutral cards)" + "7-9: 0 (neutral cards)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "7-9: 0 (neutral cards)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "7-9: 0 (cartas neutrales)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "7-9: 0 (cartas neutrales)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "7-9: 0 (cartes neutres)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "7-9: 0 (cartes neutres)" } } } }, - "8 decks shuffled together.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "8 decks shuffled together." + "8 decks shuffled together." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 decks shuffled together." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "8 barajas mezcladas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 barajas mezcladas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "8 jeux mélangés ensemble." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 jeux mélangés ensemble." } } } }, - "8 Decks: Standard in Atlantic City (~0.55%).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "8 Decks: Standard in Atlantic City (~0.55%)." + "8 Decks: Standard in Atlantic City (~0.55%)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 Decks: Standard in Atlantic City (~0.55%)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "8 Barajas: Estándar en Atlantic City (~0.55%)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 Barajas: Estándar en Atlantic City (~0.55%)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "8 Jeux: Standard à Atlantic City (~0.55%)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 Jeux: Standard à Atlantic City (~0.55%)." } } } }, - "10-A: -1 (high cards favor player)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "10-A: -1 (high cards favor player)" + "10-A: -1 (high cards favor player)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "10-A: -1 (high cards favor player)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "10-A: -1 (cartas altas favorecen al jugador)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "10-A: -1 (cartas altas favorecen al jugador)" } - }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "10-A: -1 (les cartes hautes favorisent le joueur)" + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "10-A: -1 (les cartes hautes favorisent le joueur)" } } } }, - "21+3": { - "comment": "Description of the 21+3 side bet type.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "21+3" + "21+3" : { + "comment" : "Description of the 21+3 side bet type.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "21+3" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "21+3" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3" } } } }, - "21+3: Poker hand from your cards + dealer's upcard.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "21+3: Poker hand from your cards + dealer's upcard." + "21+3: Poker hand from your cards + dealer's upcard." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3: Poker hand from your cards + dealer's upcard." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "21+3: Mano de póquer con tus cartas + carta visible del crupier." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3: Mano de póquer con tus cartas + carta visible del crupier." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "21+3 : Main de poker avec vos cartes + carte visible du croupier." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "21+3 : Main de poker avec vos cartes + carte visible du croupier." } } } }, - "A 'soft' hand has an Ace counting as 11.": { - "comment": "Explanation of how an Ace can be counted as either 1 or 11 in a hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "A 'soft' hand has an Ace counting as 11." + "A 'soft' hand has an Ace counting as 11." : { + "comment" : "Explanation of how an Ace can be counted as either 1 or 11 in a hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A 'soft' hand has an Ace counting as 11." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Una mano 'suave' tiene un As contando como 11." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Una mano 'suave' tiene un As contando como 11." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Une main 'souple' a un As comptant comme 11." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Une main 'souple' a un As comptant comme 11." } } } }, - "Ace: 1 or 11 (whichever helps your hand)": { - "comment": "Description of how an Ace can be counted as either 1 or 11 in a blackjack hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Ace: 1 or 11 (whichever helps your hand)" + "Ace: 1 or 11 (whichever helps your hand)" : { + "comment" : "Description of how an Ace can be counted as either 1 or 11 in a blackjack hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ace: 1 or 11 (whichever helps your hand)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "As: 1 u 11 (lo que ayude a tu mano)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "As: 1 u 11 (lo que ayude a tu mano)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "As: 1 ou 11 (selon ce qui aide votre main)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "As: 1 ou 11 (selon ce qui aide votre main)" } } } }, - "Aces can be high or low in straights (A-2-3 or Q-K-A).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Aces can be high or low in straights (A-2-3 or Q-K-A)." + "Aces can be high or low in straights (A-2-3 or Q-K-A)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aces can be high or low in straights (A-2-3 or Q-K-A)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Los ases pueden ser altos o bajos en escaleras (A-2-3 o Q-K-A)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los ases pueden ser altos o bajos en escaleras (A-2-3 o Q-K-A)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Les as peuvent être hauts ou bas dans les suites (A-2-3 ou Q-K-A)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les as peuvent être hauts ou bas dans les suites (A-2-3 ou Q-K-A)." } } } }, - "Actions": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Actions" + "Actions" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Acciones" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acciones" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Actions" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" } } } }, - "Add $%lld more to meet minimum": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add $%lld more to meet minimum" + "Add $%lld more to meet minimum" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add $%lld more to meet minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Añade $%lld más para alcanzar el mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Añade $%lld más para alcanzar el mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ajoutez %lld$ de plus pour atteindre le minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajoutez %lld$ de plus pour atteindre le minimum" } } } }, - "After generating:": { - "comment": "A heading for instructions on how to use the IconGeneratorView.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "After generating:" + "After generating:" : { + "comment" : "A heading for instructions on how to use the IconGeneratorView.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "After generating:" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Después de generar:" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Después de generar:" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Après la génération:" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Après la génération:" } } } }, - "All Sizes": { - "comment": "A heading that describes the various sizes of the app icon.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "All Sizes" + "All Sizes" : { + "comment" : "A heading that describes the various sizes of the app icon.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "All Sizes" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Todos los tamaños" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Todos los tamaños" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Toutes les tailles" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toutes les tailles" } } } }, - "Allow doubling on split hands": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Allow doubling on split hands" + "Allow doubling on split hands" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Allow doubling on split hands" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Permitir doblar en manos divididas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permitir doblar en manos divididas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Permettre de doubler sur les mains séparées" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permettre de doubler sur les mains séparées" } } } }, - "Allow splitting aces again": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Allow splitting aces again" + "Allow splitting aces again" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Allow splitting aces again" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Permitir dividir ases nuevamente" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permitir dividir ases nuevamente" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Permettre de re-séparer les as" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permettre de re-séparer les as" } } } }, - "Alternative: Use an online tool": { - "comment": "A section header that suggests using an online tool to generate app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Alternative: Use an online tool" + "Alternative: Use an online tool" : { + "comment" : "A section header that suggests using an online tool to generate app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alternative: Use an online tool" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Alternativa: Usa una herramienta en línea" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alternativa: Usa una herramienta en línea" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Alternative: Utilisez un outil en ligne" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alternative: Utilisez un outil en ligne" } } } }, - "Always split Aces and 8s.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Always split Aces and 8s." + "Always split Aces and 8s." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Always split Aces and 8s." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Siempre divide Ases y 8s." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siempre divide Ases y 8s." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Toujours séparer les As et les 8." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toujours séparer les As et les 8." } } } }, - "An Ace + 10-value card dealt initially is 'Blackjack'.": { - "comment": "Description of a blackjack hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "An Ace + 10-value card dealt initially is 'Blackjack'." + "An Ace + 10-value card dealt initially is 'Blackjack'." : { + "comment" : "Description of a blackjack hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "An Ace + 10-value card dealt initially is 'Blackjack'." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Un As + carta de valor 10 repartidos inicialmente es 'Blackjack'." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un As + carta de valor 10 repartidos inicialmente es 'Blackjack'." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Un As + carte valant 10 distribués initialement est un 'Blackjack'." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un As + carte valant 10 distribués initialement est un 'Blackjack'." } } } }, - "App Icon": { - "comment": "A label displayed above the preview of the app icon.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "App Icon" + "App Icon" : { + "comment" : "A label displayed above the preview of the app icon.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Icon" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Icono de la app" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icono de la app" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Icône de l'app" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icône de l'app" } } } }, - "App Icon Preview": { - "comment": "A title for the preview of the app icon.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "App Icon Preview" + "App Icon Preview" : { + "comment" : "A title for the preview of the app icon.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Icon Preview" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Vista previa del icono" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vista previa del icono" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Aperçu de l'icône" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aperçu de l'icône" } } } }, - "Atlantic City": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Atlantic City" + "Atlantic City" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Atlantic City" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Atlantic City" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Atlantic City" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Atlantic City" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Atlantic City" } } } }, - "Baccarat": { - "comment": "The name of a casino game.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Baccarat" + "Baccarat" : { + "comment" : "The name of a casino game.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baccarat" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Baccarat" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baccarat" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Baccarat" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baccarat" } } } }, - "Balance": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Balance" + "Balance" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Balance" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Saldo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saldo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Solde" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solde" } } } }, - "Basic Strategy": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Basic Strategy" + "Basic Strategy" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basic Strategy" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Estrategia Básica" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estrategia Básica" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Stratégie de Base" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stratégie de Base" } } } }, - "Basic strategy suggestions": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Basic strategy suggestions" + "Basic strategy suggestions" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basic strategy suggestions" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sugerencias de estrategia básica" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sugerencias de estrategia básica" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Suggestions de stratégie de base" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suggestions de stratégie de base" } } } }, - "Beat the dealer by getting a hand value closer to 21 without going over.": { - "comment": "Text for the objective of the game.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Beat the dealer by getting a hand value closer to 21 without going over." + "Beat the dealer by getting a hand value closer to 21 without going over." : { + "comment" : "Text for the objective of the game.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beat the dealer by getting a hand value closer to 21 without going over." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Vence al crupier obteniendo un valor de mano más cercano a 21 sin pasarte." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vence al crupier obteniendo un valor de mano más cercano a 21 sin pasarte." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Battez le croupier en obtenant une valeur de main plus proche de 21 sans dépasser." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Battez le croupier en obtenant une valeur de main plus proche de 21 sans dépasser." } } } }, - "Best": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Best" + "Best" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Best" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mejor" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mejor" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Meilleur" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meilleur" } } } }, - "Bet 2x minimum": { - "comment": "Betting recommendation based on a true count of 1.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet 2x minimum" + "Bet 2x minimum" : { + "comment" : "Betting recommendation based on a true count of 1.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet 2x minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta 2x mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta 2x mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise 2x minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise 2x minimum" } } } }, - "Bet 4x minimum": { - "comment": "Betting recommendation based on the true count of 4.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet 4x minimum" + "Bet 4x minimum" : { + "comment" : "Betting recommendation based on the true count of 4.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet 4x minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta 4x mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta 4x mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise 4x minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise 4x minimum" } } } }, - "Bet 6x minimum": { - "comment": "Betting recommendation based on a true count of 3.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet 6x minimum" + "Bet 6x minimum" : { + "comment" : "Betting recommendation based on a true count of 3.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet 6x minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta 6x mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta 6x mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise 6x minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise 6x minimum" } } } }, - "Bet 8x minimum": { - "comment": "Betting recommendation based on the true count of 4.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet 8x minimum" + "Bet 8x minimum" : { + "comment" : "Betting recommendation based on the true count of 4.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet 8x minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta 8x mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta 8x mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise 8x minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise 8x minimum" } } } }, - "Bet maximum!": { - "comment": "Betting recommendation to bet the maximum amount when the true count is 5 or higher.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet maximum!" + "Bet maximum!" : { + "comment" : "Betting recommendation to bet the maximum amount when the true count is 5 or higher.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet maximum!" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡Apuesta máximo!" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Apuesta máximo!" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise maximum!" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise maximum!" } } } }, - "Bet minimum": { - "comment": "Betting recommendation to bet the minimum amount.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet minimum" + "Bet minimum" : { + "comment" : "Betting recommendation to bet the minimum amount.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet minimum" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta mínimo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta mínimo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise minimum" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise minimum" } } } }, - "Bet minimum (neutral)": { - "comment": "Betting hint when the true count is 0.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet minimum (neutral)" + "Bet minimum (neutral)" : { + "comment" : "Betting hint when the true count is 0.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet minimum (neutral)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta mínimo (neutral)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta mínimo (neutral)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise minimum (neutre)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise minimum (neutre)" } } } }, - "Bet minimum or sit out": { - "comment": "Betting recommendation to bet the minimum amount or to sit out when the true count is -2 or lower.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet minimum or sit out" + "Bet minimum or sit out" : { + "comment" : "Betting recommendation to bet the minimum amount or to sit out when the true count is -2 or lower.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet minimum or sit out" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta mínimo o no juegues" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta mínimo o no juegues" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise minimum ou passez" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise minimum ou passez" } } } }, - "Bet on your first two cards forming a pair": { - "comment": "Description of the Perfect Pairs side bet.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet on your first two cards forming a pair" + "Bet on your first two cards forming a pair" : { + "comment" : "Description of the Perfect Pairs side bet.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet on your first two cards forming a pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta a que tus primeras dos cartas formen un par" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta a que tus primeras dos cartas formen un par" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pariez sur vos deux premières cartes formant une paire" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pariez sur vos deux premières cartes formant une paire" } } } }, - "Bet on your first two cards forming a pair.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bet on your first two cards forming a pair." + "Bet on your first two cards forming a pair." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bet on your first two cards forming a pair." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta a que tus primeras dos cartas formen un par." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta a que tus primeras dos cartas formen un par." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pariez sur vos deux premières cartes formant une paire." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pariez sur vos deux premières cartes formant une paire." } } } }, - "Betting Hint": { - "comment": "A label describing the view that shows betting recommendations.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Betting Hint" + "Betting Hint" : { + "comment" : "A label describing the view that shows betting recommendations.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Betting Hint" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Consejo de apuesta" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Consejo de apuesta" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Conseil de mise" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conseil de mise" } } } }, - "BIGGEST SWINGS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "BIGGEST SWINGS" + "BIGGEST SWINGS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "BIGGEST SWINGS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "MAYORES CAMBIOS" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "MAYORES CAMBIOS" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "PLUS GRANDS ÉCARTS" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "PLUS GRANDS ÉCARTS" } } } }, - "Blackjack": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blackjack" + "Blackjack" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjack" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Blackjack" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack" } } } }, - "BLACKJACK": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "BLACKJACK" + "BLACKJACK" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "BLACKJACK" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "BLACKJACK" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "BLACKJACK" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "BLACKJACK" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "BLACKJACK" } } } }, - "Blackjack pays 3:2 (1.5x your bet).": { - "comment": "Description of the payout for blackjack in the Blackjack rules help view.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blackjack pays 3:2 (1.5x your bet)." + "Blackjack pays 3:2 (1.5x your bet)." : { + "comment" : "Description of the payout for blackjack in the Blackjack rules help view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack pays 3:2 (1.5x your bet)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjack paga 3:2 (1.5x tu apuesta)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack paga 3:2 (1.5x tu apuesta)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le Blackjack paie 3:2 (1.5x votre mise)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le Blackjack paie 3:2 (1.5x votre mise)." } } } }, - "Blackjack pays 3:2.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blackjack pays 3:2." + "Blackjack pays 3:2." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack pays 3:2." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjack paga 3:2." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack paga 3:2." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le Blackjack paie 3:2." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le Blackjack paie 3:2." } } } }, - "Blackjack: 3:2": { - "comment": "Payout description for a Blackjack win.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blackjack: 3:2" + "Blackjack: 3:2" : { + "comment" : "Payout description for a Blackjack win.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack: 3:2" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjack: 3:2" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack: 3:2" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Blackjack: 3:2" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjack: 3:2" } } } }, - "BLACKJACK!": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "BLACKJACK!" + "BLACKJACK!" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "BLACKJACK!" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡BLACKJACK!" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡BLACKJACK!" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "BLACKJACK!" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "BLACKJACK!" } } } }, - "Blackjacks": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blackjacks" + "Blackjacks" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjacks" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blackjacks" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjacks" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Blackjacks" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blackjacks" } } } }, - "BUST": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "BUST" + "BUST" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "BUST" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "PASADO" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "PASADO" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "SAUTÉ" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "SAUTÉ" } } } }, - "BUST!": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "BUST!" + "BUST!" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "BUST!" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡PASADO!" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡PASADO!" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "SAUTÉ!" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "SAUTÉ!" } } } }, - "Busts": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Busts" + "Busts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Busts" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pasados" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pasados" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sautés" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sautés" } } } }, - "Cancel": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cancel" + "Cancel" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cancelar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Annuler" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" } } } }, - "Card Count": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Card Count" + "Card Count" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Card Count" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Conteo de cartas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conteo de cartas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Compte des cartes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte des cartes" } } } }, - "Card Counting": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Card Counting" + "Card Counting" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Card Counting" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Conteo de Cartas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conteo de Cartas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Comptage des Cartes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comptage des Cartes" } } } }, - "Card dealing animations": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Card dealing animations" + "Card dealing animations" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Card dealing animations" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Animaciones de reparto" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animaciones de reparto" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Animations de distribution" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animations de distribution" } } } }, - "Card Values": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Card Values" + "Card Values" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Card Values" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Valores de cartas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valores de cartas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Valeurs des cartes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valeurs des cartes" } } } }, - "Cards Remaining": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cards Remaining" + "Cards Remaining" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cards Remaining" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cartas restantes" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cartas restantes" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Cartes restantes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cartes restantes" } } } }, - "Chips, cards, and results": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Chips, cards, and results" + "Chips, cards, and results" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chips, cards, and results" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Fichas, cartas y resultados" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fichas, cartas y resultados" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Jetons, cartes et résultats" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jetons, cartes et résultats" } } } }, - "Clear": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clear" + "Clear" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clear" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Limpiar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limpiar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Effacer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer" } } } }, - "Clear All Data": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clear All Data" + "Clear All Data" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clear All Data" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Borrar todos los datos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Borrar todos los datos" } - }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Effacer toutes les données" + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer toutes les données" } } } }, - "Clear All Data?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clear All Data?" + "Clear All Data?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clear All Data?" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¿Borrar todos los datos?" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Borrar todos los datos?" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Effacer toutes les données?" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer toutes les données?" } } } }, - "CLOUD SYNC": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "CLOUD SYNC" + "CLOUD SYNC" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "CLOUD SYNC" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "SINCRONIZACIÓN EN LA NUBE" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "SINCRONIZACIÓN EN LA NUBE" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "SYNCHRONISATION CLOUD" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "SYNCHRONISATION CLOUD" } } } }, - "Colored Pair": { - "comment": "Description of a Perfect Pairs side bet result when the first two cards form a pair of the same rank but different suit.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Colored Pair" + "Colored Pair" : { + "comment" : "Description of a Perfect Pairs side bet result when the first two cards form a pair of the same rank but different suit.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Colored Pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par de Color" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par de Color" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire Colorée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire Colorée" } } } }, - "Colored Pair (same color): 12:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Colored Pair (same color): 12:1" + "Colored Pair (same color): 12:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Colored Pair (same color): 12:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par de color (mismo color): 12:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par de color (mismo color): 12:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire de couleur (même couleur) : 12:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire de couleur (même couleur) : 12:1" } } } }, - "Common shoe game": { - "comment": "Description of a deck count option when the user selects 4 decks.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Common shoe game" + "Common shoe game" : { + "comment" : "Description of a deck count option when the user selects 4 decks.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Common shoe game" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Juego de zapato común" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Juego de zapato común" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Jeu de sabot courant" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jeu de sabot courant" } } } }, - "Cost: $%lld (half your bet)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cost: $%lld (half your bet)" + "Cost: $%lld (half your bet)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cost: $%lld (half your bet)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Costo: $%lld (mitad de tu apuesta)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Costo: $%lld (mitad de tu apuesta)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Coût: %lld$ (la moitié de votre mise)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Coût: %lld$ (la moitié de votre mise)" } } } }, - "Costs half your original bet.": { - "comment": "Description of the cost of insurance in the rules help view.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Costs half your original bet." + "Costs half your original bet." : { + "comment" : "Description of the cost of insurance in the rules help view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Costs half your original bet." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cuesta la mitad de tu apuesta original." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuesta la mitad de tu apuesta original." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Coûte la moitié de votre mise initiale." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Coûte la moitié de votre mise initiale." } } } }, - "Count reset to 0": { - "comment": "A description of what happens when the shoe is reshuffled in Blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count reset to 0" + "Count reset to 0" : { + "comment" : "A description of what happens when the shoe is reshuffled in Blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count reset to 0" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Conteo reiniciado a 0" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conteo reiniciado a 0" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Compte remis à 0" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte remis à 0" } } } }, - "Count resets to 0 when the shoe is shuffled.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count resets to 0 when the shoe is shuffled." + "Count resets to 0 when the shoe is shuffled." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count resets to 0 when the shoe is shuffled." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El conteo se reinicia a 0 cuando se mezcla el zapato." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El conteo se reinicia a 0 cuando se mezcla el zapato." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le compte se réinitialise à 0 quand le sabot est mélangé." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le compte se réinitialise à 0 quand le sabot est mélangé." } } } }, - "Current bet $%lld": { - "comment": "A hint that appears when a user taps on a side bet zone. The text varies depending on whether a bet is currently placed or not.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Current bet $%lld" + "Current bet $%lld" : { + "comment" : "A hint that appears when a user taps on a side bet zone. The text varies depending on whether a bet is currently placed or not.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Current bet $%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta actual $%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta actual $%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pari actuel %lld $" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pari actuel %lld $" } } } }, - "Custom": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Custom" + "Custom" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Custom" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Personalizado" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizado" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Personnalisé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personnalisé" } } } }, - "Customize all rules": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Customize all rules" + "Customize all rules" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Customize all rules" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Personalizar todas las reglas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizar todas las reglas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Personnaliser toutes les règles" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personnaliser toutes les règles" } } } }, - "DATA": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "DATA" + "DATA" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "DATA" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "DATOS" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "DATOS" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "DONNÉES" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "DONNÉES" } } } }, - "Deal": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Deal" + "Deal" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deal" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Repartir" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Repartir" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Distribuer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Distribuer" } } } }, - "DEALER": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "DEALER" + "DEALER" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "DEALER" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "CRUPIER" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "CRUPIER" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "CROUPIER" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "CROUPIER" } } } }, - "Dealer Hits Soft 17": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer Hits Soft 17" + "Dealer Hits Soft 17" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer Hits Soft 17" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier pide en 17 suave" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier pide en 17 suave" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier tire sur 17 souple" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier tire sur 17 souple" } } } }, - "Dealer Hits Soft 17: Increases house edge by ~0.2%.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer Hits Soft 17: Increases house edge by ~0.2%." + "Dealer Hits Soft 17: Increases house edge by ~0.2%." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer Hits Soft 17: Increases house edge by ~0.2%." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier pide carta en 17 suave: Aumenta la ventaja en ~0.2%." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier pide carta en 17 suave: Aumenta la ventaja en ~0.2%." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier tire sur 17 souple: Augmente l'avantage de ~0.2%." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier tire sur 17 souple: Augmente l'avantage de ~0.2%." } } } }, - "Dealer must hit on 16 or less.": { - "comment": "Description of the dealer's rule to hit if the hand value is 16 or less.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer must hit on 16 or less." + "Dealer must hit on 16 or less." : { + "comment" : "Description of the dealer's rule to hit if the hand value is 16 or less.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer must hit on 16 or less." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El crupier debe pedir carta con 16 o menos." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El crupier debe pedir carta con 16 o menos." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le croupier doit tirer sur 16 ou moins." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le croupier doit tirer sur 16 ou moins." } } } }, - "Dealer must stand on 17 or more (varies by rules).": { - "comment": "Description of the dealer's rule for standing on a hand value of 17 or higher. Note that this text can vary depending on the specific rules of the game being played.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer must stand on 17 or more (varies by rules)." + "Dealer must stand on 17 or more (varies by rules)." : { + "comment" : "Description of the dealer's rule for standing on a hand value of 17 or higher. Note that this text can vary depending on the specific rules of the game being played.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer must stand on 17 or more (varies by rules)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El crupier debe plantarse con 17 o más (varía según las reglas)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El crupier debe plantarse con 17 o más (varía según las reglas)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le croupier doit rester sur 17 ou plus (varie selon les règles)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le croupier doit rester sur 17 ou plus (varie selon les règles)." } } } }, - "Dealer Rules": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer Rules" + "Dealer Rules" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer Rules" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Reglas del crupier" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reglas del crupier" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Règles du croupier" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Règles du croupier" } } } }, - "Dealer showing Ace": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer showing Ace" + "Dealer showing Ace" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer showing Ace" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El crupier muestra un As" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El crupier muestra un As" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le croupier montre un As" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le croupier montre un As" } } } }, - "Dealer stands on all 17s (including soft 17).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer stands on all 17s (including soft 17)." + "Dealer stands on all 17s (including soft 17)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer stands on all 17s (including soft 17)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El crupier se planta en todos los 17 (incluyendo 17 suave)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El crupier se planta en todos los 17 (incluyendo 17 suave)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le croupier reste sur tous les 17 (y compris 17 souple)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le croupier reste sur tous les 17 (y compris 17 souple)." } } } }, - "Dealer stands on all 17s.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer stands on all 17s." + "Dealer stands on all 17s." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer stands on all 17s." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "El crupier se planta en todos los 17." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El crupier se planta en todos los 17." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Le croupier reste sur tous les 17." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le croupier reste sur tous les 17." } } } }, - "Dealer stands on soft 17, double after split, 3:2 blackjack": { - "comment": "Description of the \"Vegas Strip\" blackjack rule variation.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer stands on soft 17, double after split, 3:2 blackjack" + "Dealer stands on soft 17, double after split, 3:2 blackjack" : { + "comment" : "Description of the \"Vegas Strip\" blackjack rule variation.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer stands on soft 17, double after split, 3:2 blackjack" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier se planta en 17 suave, doblar después de dividir, blackjack 3:2" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier se planta en 17 suave, doblar después de dividir, blackjack 3:2" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier reste sur 17 souple, doubler après séparation, blackjack 3:2" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier reste sur 17 souple, doubler après séparation, blackjack 3:2" } } } }, - "Dealer stands on soft 17, late surrender, 8 decks": { - "comment": "Description of the \"Atlantic City\" blackjack rule variation.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer stands on soft 17, late surrender, 8 decks" + "Dealer stands on soft 17, late surrender, 8 decks" : { + "comment" : "Description of the \"Atlantic City\" blackjack rule variation.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer stands on soft 17, late surrender, 8 decks" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier se planta en 17 suave, rendición tardía, 8 barajas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier se planta en 17 suave, rendición tardía, 8 barajas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier reste sur 17 souple, abandon tardif, 8 jeux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier reste sur 17 souple, abandon tardif, 8 jeux" } } } }, - "Dealer: %@. Value: %@": { - "comment": "Accessibility label for the dealer's hand in the Blackjack game. The text includes a list of the dealer's visible cards and their total value.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer: %1$@. Value: %2$@" + "Dealer: %@. Value: %@" : { + "comment" : "Accessibility label for the dealer's hand in the Blackjack game. The text includes a list of the dealer's visible cards and their total value.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer: %1$@. Value: %2$@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier: %@. Valor: %@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier: %@. Valor: %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier: %@. Valeur: %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier: %@. Valeur: %@" } } } }, - "Dealer: No cards": { - "comment": "Accessibility label for the dealer hand when there are no cards visible.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dealer: No cards" + "Dealer: No cards" : { + "comment" : "Accessibility label for the dealer hand when there are no cards visible.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dealer: No cards" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crupier: Sin cartas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crupier: Sin cartas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Croupier: Pas de cartes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Croupier: Pas de cartes" } } } }, - "Deck Count": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Deck Count" + "Deck Count" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deck Count" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Número de barajas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Número de barajas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Nombre de jeux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre de jeux" } } } }, - "DECK SETTINGS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "DECK SETTINGS" + "DECK SETTINGS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "DECK SETTINGS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "CONFIGURACIÓN DE BARAJAS" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "CONFIGURACIÓN DE BARAJAS" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "PARAMÈTRES DES JEUX" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "PARAMÈTRES DES JEUX" } } } }, - "Decrease bets when the count is negative.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Decrease bets when the count is negative." + "Decrease bets when the count is negative." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Decrease bets when the count is negative." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Disminuye las apuestas cuando el conteo es negativo." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disminuye las apuestas cuando el conteo es negativo." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Diminuez les mises quand le compte est négatif." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diminuez les mises quand le compte est négatif." } } } }, - "DISPLAY": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "DISPLAY" + "DISPLAY" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "DISPLAY" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "PANTALLA" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "PANTALLA" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "AFFICHAGE" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "AFFICHAGE" } } } }, - "Done": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Done" + "Done" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Listo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Listo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Terminé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminé" } } } }, - "Double": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double" + "Double" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler" } } } }, - "Double After Split": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double After Split" + "Double After Split" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double After Split" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar después de dividir" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar después de dividir" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler après séparation" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler après séparation" } } } }, - "Double after split (DAS) allowed.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double after split (DAS) allowed." + "Double after split (DAS) allowed." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double after split (DAS) allowed." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar después de dividir (DAS) permitido." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar después de dividir (DAS) permitido." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler après séparation (DAS) autorisé." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler après séparation (DAS) autorisé." } } } }, - "Double After Split (DAS): Reduces house edge by ~0.15%.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double After Split (DAS): Reduces house edge by ~0.15%." + "Double After Split (DAS): Reduces house edge by ~0.15%." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double After Split (DAS): Reduces house edge by ~0.15%." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar después de dividir (DAS): Reduce la ventaja en ~0.15%." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar después de dividir (DAS): Reduce la ventaja en ~0.15%." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler après séparation (DAS): Réduit l'avantage de ~0.15%." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler après séparation (DAS): Réduit l'avantage de ~0.15%." } } } }, - "Double after split allowed.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double after split allowed." + "Double after split allowed." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double after split allowed." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar después de dividir permitido." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar después de dividir permitido." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler après séparation autorisé." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler après séparation autorisé." } } } }, - "Double Down": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double Down" + "Double Down" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double Down" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler" } } } }, - "Double down allowed on any two cards.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double down allowed on any two cards." + "Double down allowed on any two cards." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double down allowed on any two cards." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar permitido con cualquier par de cartas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar permitido con cualquier par de cartas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler autorisé sur n'importe quelles deux cartes." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler autorisé sur n'importe quelles deux cartes." } } } }, - "Double down on any two cards.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double down on any two cards." + "Double down on any two cards." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double down on any two cards." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar con cualquier par de cartas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar con cualquier par de cartas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler sur n'importe quelles deux cartes." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler sur n'importe quelles deux cartes." } } } }, - "Double Down: Double your bet, take one card, then stand": { - "comment": "Action available in Blackjack when the player wants to double their bet, take one more card, and then stand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double Down: Double your bet, take one card, then stand" + "Double Down: Double your bet, take one card, then stand" : { + "comment" : "Action available in Blackjack when the player wants to double their bet, take one more card, and then stand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double Down: Double your bet, take one card, then stand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar: Duplica tu apuesta, toma una carta, luego plántate" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar: Duplica tu apuesta, toma una carta, luego plántate" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler: Doublez votre mise, prenez une carte, puis restez" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler: Doublez votre mise, prenez une carte, puis restez" } } } }, - "Double on 9, 10, or 11 only (some venues).": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double on 9, 10, or 11 only (some venues)." + "Double on 9, 10, or 11 only (some venues)." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double on 9, 10, or 11 only (some venues)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar solo con 9, 10 u 11 (algunos lugares)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar solo con 9, 10 u 11 (algunos lugares)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler sur 9, 10 ou 11 seulement (certains casinos)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler sur 9, 10 ou 11 seulement (certains casinos)." } } } }, - "Double on 10 vs dealer 2-9.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double on 10 vs dealer 2-9." + "Double on 10 vs dealer 2-9." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double on 10 vs dealer 2-9." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar con 10 contra crupier 2-9." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar con 10 contra crupier 2-9." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler sur 10 contre croupier 2-9." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler sur 10 contre croupier 2-9." } } } }, - "Double on 11 vs dealer 2-10.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double on 11 vs dealer 2-10." + "Double on 11 vs dealer 2-10." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double on 11 vs dealer 2-10." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar con 11 contra crupier 2-10." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar con 11 contra crupier 2-10." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler sur 11 contre croupier 2-10." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler sur 11 contre croupier 2-10." } } } }, - "Double tap to add chips": { - "comment": "A hint that appears when a user taps on the betting zone, instructing them to double-tap to add chips.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double tap to add chips" + "Double tap to add chips" : { + "comment" : "A hint that appears when a user taps on the betting zone, instructing them to double-tap to add chips.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to add chips" } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Toca dos veces para agregar fichas" + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toca dos veces para agregar fichas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Appuyez deux fois pour ajouter des jetons" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez deux fois pour ajouter des jetons" } } } }, - "Double tap to place bet": { - "comment": "A hint text that describes the action to take to place a side bet.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double tap to place bet" + "Double tap to place bet" : { + "comment" : "A hint text that describes the action to take to place a side bet.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to place bet" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Toca dos veces para apostar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toca dos veces para apostar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Touchez deux fois pour parier" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Touchez deux fois pour parier" } } } }, - "Double, not Hit (TC %@)": { - "comment": "Short hint to double instead of hit based on true count.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double, not Hit (TC %@)" + "Double, not Hit (TC %@)" : { + "comment" : "Short hint to double instead of hit based on true count.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double, not Hit (TC %@)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Doblar, no Pedir (TC %@)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doblar, no Pedir (TC %@)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Doubler, pas Tirer (TC %@)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doubler, pas Tirer (TC %@)" } } } }, - "Enable 'Card Count' in Settings to practice.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enable 'Card Count' in Settings to practice." + "Enable 'Card Count' in Settings to practice." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enable 'Card Count' in Settings to practice." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activa 'Conteo de cartas' en Configuración para practicar." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activa 'Conteo de cartas' en Configuración para practicar." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activez 'Compte des cartes' dans Paramètres pour pratiquer." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activez 'Compte des cartes' dans Paramètres pour pratiquer." } } } }, - "Enable in Settings to play side bets.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enable in Settings to play side bets." + "Enable in Settings to play side bets." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enable in Settings to play side bets." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Habilita en Configuración para jugar apuestas laterales." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Habilita en Configuración para jugar apuestas laterales." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activez dans les réglages pour jouer les paris latéraux." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activez dans les réglages pour jouer les paris latéraux." } } } }, - "Enable Side Bets": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enable Side Bets" + "Enable Side Bets" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enable Side Bets" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activar Apuestas Laterales" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activar Apuestas Laterales" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activer les Paris Annexes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer les Paris Annexes" } } } }, - "European": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "European" + "European" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "European" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Europeo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Europeo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Européen" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Européen" } } } }, - "Example: K♠ K♠ = Perfect Pair": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Example: K♠ K♠ = Perfect Pair" + "Example: K♠ K♠ = Perfect Pair" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Example: K♠ K♠ = Perfect Pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ejemplo: K♠ K♠ = Par perfecto" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ejemplo: K♠ K♠ = Par perfecto" } - }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Exemple : K♠ K♠ = Paire parfaite" + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exemple : K♠ K♠ = Paire parfaite" } } } }, - "Example: K♠ K♣ = Colored Pair (both black)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Example: K♠ K♣ = Colored Pair (both black)" + "Example: K♠ K♣ = Colored Pair (both black)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Example: K♠ K♣ = Colored Pair (both black)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ejemplo: K♠ K♣ = Par de color (ambos negros)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ejemplo: K♠ K♣ = Par de color (ambos negros)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Exemple : K♠ K♣ = Paire de couleur (tous deux noirs)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exemple : K♠ K♣ = Paire de couleur (tous deux noirs)" } } } }, - "Example: K♠ K♥ = Mixed Pair (red/black)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Example: K♠ K♥ = Mixed Pair (red/black)" + "Example: K♠ K♥ = Mixed Pair (red/black)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Example: K♠ K♥ = Mixed Pair (red/black)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ejemplo: K♠ K♥ = Par mixto (rojo/negro)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ejemplo: K♠ K♥ = Par mixto (rojo/negro)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Exemple : K♠ K♥ = Paire mixte (rouge/noir)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exemple : K♠ K♥ = Paire mixte (rouge/noir)" } } } }, - "Fewer decks = easier to count accurately.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Fewer decks = easier to count accurately." + "Fewer decks = easier to count accurately." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fewer decks = easier to count accurately." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Menos barajas = más fácil contar con precisión." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menos barajas = más fácil contar con precisión." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Moins de jeux = plus facile de compter précisément." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Moins de jeux = plus facile de compter précisément." } } } }, - "Fewer decks favor the player slightly.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Fewer decks favor the player slightly." + "Fewer decks favor the player slightly." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fewer decks favor the player slightly." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Menos barajas favorecen ligeramente al jugador." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menos barajas favorecen ligeramente al jugador." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Moins de jeux favorisent légèrement le joueur." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Moins de jeux favorisent légèrement le joueur." } } } }, - "Flush": { - "comment": "Description of a 21+3 side bet outcome when the user has a flush.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Flush" + "Flush" : { + "comment" : "Description of a 21+3 side bet outcome when the user has a flush.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Flush" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur" } } } }, - "Flush (same suit): 5:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Flush (same suit): 5:1" + "Flush (same suit): 5:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Flush (same suit): 5:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color (mismo palo): 5:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color (mismo palo): 5:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur (même couleur) : 5:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur (même couleur) : 5:1" } } } }, - "Forms a poker hand: your 2 cards + dealer upcard.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Forms a poker hand: your 2 cards + dealer upcard." + "Forms a poker hand: your 2 cards + dealer upcard." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forms a poker hand: your 2 cards + dealer upcard." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Forma una mano de póquer: tus 2 cartas + carta visible del crupier." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forma una mano de póquer: tus 2 cartas + carta visible del crupier." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Forme une main de poker : vos 2 cartes + carte visible du croupier." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forme une main de poker : vos 2 cartes + carte visible du croupier." } } } }, - "GAME STYLE": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "GAME STYLE" + "GAME STYLE" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "GAME STYLE" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "ESTILO DE JUEGO" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "ESTILO DE JUEGO" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "STYLE DE JEU" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "STYLE DE JEU" } } } }, - "Generally not recommended by basic strategy.": { - "comment": "Note about the insurance strategy, not directly related to the content of the rule page.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Generally not recommended by basic strategy." + "Generally not recommended by basic strategy." : { + "comment" : "Note about the insurance strategy, not directly related to the content of the rule page.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generally not recommended by basic strategy." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Generalmente no recomendado por la estrategia básica." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generalmente no recomendado por la estrategia básica." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Généralement non recommandé par la stratégie de base." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Généralement non recommandé par la stratégie de base." } } } }, - "Generate & Save Icons": { - "comment": "A button label that triggers icon generation and saving.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Generate & Save Icons" + "Generate & Save Icons" : { + "comment" : "A button label that triggers icon generation and saving.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generate & Save Icons" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Generar y guardar iconos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generar y guardar iconos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Générer et enregistrer les icônes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Générer et enregistrer les icônes" } } } }, - "Generated Icons:": { - "comment": "A label describing the list of icons that have been successfully generated.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Generated Icons:" + "Generated Icons:" : { + "comment" : "A label describing the list of icons that have been successfully generated.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generated Icons:" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Iconos generados:" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iconos generados:" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Icônes générées:" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icônes générées:" } } } }, - "Generating...": { - "comment": "A label indicating that the app is currently generating icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Generating..." + "Generating..." : { + "comment" : "A label indicating that the app is currently generating icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generating..." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Generando..." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generando..." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Génération..." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Génération..." } } } }, - "H17 rule, increases house edge": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "H17 rule, increases house edge" + "H17 rule, increases house edge" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "H17 rule, increases house edge" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Regla H17, aumenta ventaja de la casa" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Regla H17, aumenta ventaja de la casa" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Règle H17, augmente l'avantage de la maison" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Règle H17, augmente l'avantage de la maison" } } } }, - "Hand %lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hand %lld" + "Hand %lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hand %lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mano %lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mano %lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Main %lld" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main %lld" } } } }, - "Haptic Feedback": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Haptic Feedback" + "Haptic Feedback" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haptic Feedback" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Vibración" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vibración" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Retour haptique" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retour haptique" } } } }, - "Hi-Lo is the most popular counting system.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hi-Lo is the most popular counting system." + "Hi-Lo is the most popular counting system." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hi-Lo is the most popular counting system." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Hi-Lo es el sistema de conteo más popular." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hi-Lo es el sistema de conteo más popular." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Hi-Lo est le système de comptage le plus populaire." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hi-Lo est le système de comptage le plus populaire." } } } }, - "Higher house edge due to no hole card.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Higher house edge due to no hole card." + "Higher house edge due to no hole card." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Higher house edge due to no hole card." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mayor ventaja de la casa debido a la ausencia de carta oculta." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mayor ventaja de la casa debido a la ausencia de carta oculta." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Avantage de la maison plus élevé en raison de l'absence de carte cachée." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avantage de la maison plus élevé en raison de l'absence de carte cachée." } } } }, - "Hint": { - "comment": "A general label for a gameplay hint.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hint" + "Hint" : { + "comment" : "A general label for a gameplay hint.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hint" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Consejo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Consejo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Conseil" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conseil" } } } }, - "Hint: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hint: %@" + "Hint: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hint: %@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Consejo: %@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Consejo: %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Conseil: %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conseil: %@" } } } }, - "Hit": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hit" + "Hit" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hit" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pedir" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pedir" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Tirer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tirer" } } } }, - "Hit on soft 17 or less.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hit on soft 17 or less." + "Hit on soft 17 or less." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hit on soft 17 or less." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pide carta con 17 suave o menos." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pide carta con 17 suave o menos." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Tirez sur 17 souple ou moins." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tirez sur 17 souple ou moins." } } } }, - "Hit, not Stand (TC %@)": { - "comment": "Short hint to hit instead of stand based on true count.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hit, not Stand (TC %@)" + "Hit, not Stand (TC %@)" : { + "comment" : "Short hint to hit instead of stand based on true count.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hit, not Stand (TC %@)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pedir, no Plantarse (TC %@)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pedir, no Plantarse (TC %@)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Tirer, pas Rester (TC %@)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tirer, pas Rester (TC %@)" } } } }, - "Hit: Take another card": { - "comment": "Action available in Blackjack: Hit (take another card).", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hit: Take another card" + "Hit: Take another card" : { + "comment" : "Action available in Blackjack: Hit (take another card).", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hit: Take another card" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pedir: Toma otra carta" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pedir: Toma otra carta" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Tirer: Prenez une autre carte" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tirer: Prenez une autre carte" } } } }, - "How to Export Icons": { - "comment": "A section header explaining how to export app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "How to Export Icons" + "How to Export Icons" : { + "comment" : "A section header explaining how to export app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "How to Export Icons" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cómo exportar iconos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cómo exportar iconos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Comment exporter les icônes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment exporter les icônes" } } } }, - "How to Play": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "How to Play" + "How to Play" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "How to Play" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cómo jugar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cómo jugar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Comment jouer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment jouer" } } } }, - "iCloud Sync": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "iCloud Sync" + "iCloud Sync" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud Sync" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronización iCloud" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronización iCloud" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation iCloud" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation iCloud" } } } }, - "iCloud Unavailable": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "iCloud Unavailable" + "iCloud Unavailable" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud Unavailable" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "iCloud no disponible" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud no disponible" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "iCloud non disponible" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud non disponible" } } } }, - "Icon": { - "comment": "The label for the tab item representing the app icon preview.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Icon" + "Icon" : { + "comment" : "The label for the tab item representing the app icon preview.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icon" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Icono" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icono" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Icône" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icône" } } } }, - "Icon Generator": { - "comment": "The title of the Icon Generator view.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Icon Generator" + "Icon Generator" : { + "comment" : "The title of the Icon Generator view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icon Generator" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Generador de iconos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generador de iconos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Générateur d'icônes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Générateur d'icônes" } } } }, - "If both you and dealer have Blackjack, it's a push (tie).": { - "comment": "Description of the outcome when both the player and the dealer have a Blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "If both you and dealer have Blackjack, it's a push (tie)." + "If both you and dealer have Blackjack, it's a push (tie)." : { + "comment" : "Description of the outcome when both the player and the dealer have a Blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "If both you and dealer have Blackjack, it's a push (tie)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Si ambos tienen Blackjack, es empate." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si ambos tienen Blackjack, es empate." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Si vous et le croupier avez un Blackjack, c'est une égalité." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si vous et le croupier avez un Blackjack, c'est une égalité." } } } }, - "If the dealer busts and you haven't, you win.": { - "comment": "Description of the outcome when the dealer busts and the player does not.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "If the dealer busts and you haven't, you win." + "If the dealer busts and you haven't, you win." : { + "comment" : "Description of the outcome when the dealer busts and the player does not.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "If the dealer busts and you haven't, you win." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Si el crupier se pasa y tú no, ganas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si el crupier se pasa y tú no, ganas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Si le croupier dépasse et pas vous, vous gagnez." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si le croupier dépasse et pas vous, vous gagnez." } } } }, - "If you go over 21, you 'bust' and lose immediately.": { - "comment": "Description of the outcome when a player's hand value exceeds 21.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "If you go over 21, you 'bust' and lose immediately." + "If you go over 21, you 'bust' and lose immediately." : { + "comment" : "Description of the outcome when a player's hand value exceeds 21.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "If you go over 21, you 'bust' and lose immediately." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Si te pasas de 21, te 'pasas' y pierdes inmediatamente." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si te pasas de 21, te 'pasas' y pierdes inmediatamente." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Si vous dépassez 21, vous 'sautez' et perdez immédiatement." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si vous dépassez 21, vous 'sautez' et perdez immédiatement." } } } }, - "Increase bets when the count is positive.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Increase bets when the count is positive." + "Increase bets when the count is positive." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Increase bets when the count is positive." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Aumenta las apuestas cuando el conteo es positivo." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aumenta las apuestas cuando el conteo es positivo." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Augmentez les mises quand le compte est positif." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Augmentez les mises quand le compte est positif." } } } }, - "Insurance": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Insurance" + "Insurance" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insurance" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seguro" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguro" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Assurance" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Assurance" } } } }, - "INSURANCE LOSES": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "INSURANCE LOSES" + "INSURANCE LOSES" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "INSURANCE LOSES" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "SEGURO PIERDE" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "SEGURO PIERDE" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "ASSURANCE PERDUE" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ASSURANCE PERDUE" } } } }, - "INSURANCE WINS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "INSURANCE WINS" + "INSURANCE WINS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "INSURANCE WINS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "SEGURO GANA" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "SEGURO GANA" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "ASSURANCE GAGNÉE" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ASSURANCE GAGNÉE" } } } }, - "Insurance: 2:1": { - "comment": "Description of the payout for insurance in the game rules guide.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Insurance: 2:1" + "Insurance: 2:1" : { + "comment" : "Description of the payout for insurance in the game rules guide.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insurance: 2:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seguro: 2:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguro: 2:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Assurance: 2:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Assurance: 2:1" } } } }, - "INSURANCE?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "INSURANCE?" + "INSURANCE?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "INSURANCE?" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¿SEGURO?" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿SEGURO?" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "ASSURANCE?" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ASSURANCE?" } } } }, - "Jack, Queen, King: 10": { - "comment": "Card value description for face cards (Jack, Queen, King).", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Jack, Queen, King: 10" + "Jack, Queen, King: 10" : { + "comment" : "Card value description for face cards (Jack, Queen, King).", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jack, Queen, King: 10" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Jota, Reina, Rey: 10" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jota, Reina, Rey: 10" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Valet, Dame, Roi: 10" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valet, Dame, Roi: 10" } } } }, - "Last Synced": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Last Synced" + "Last Synced" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Last Synced" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Última sincronización" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última sincronización" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Dernière synchronisation" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dernière synchronisation" } } } }, - "Late Surrender": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Late Surrender" + "Late Surrender" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Late Surrender" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendición tardía" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendición tardía" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandon tardif" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandon tardif" } } } }, - "Late surrender available.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Late surrender available." + "Late surrender available." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Late surrender available." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendición tardía disponible." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendición tardía disponible." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandon tardif disponible." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandon tardif disponible." } } } }, - "Late Surrender: Reduces house edge by ~0.07%.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Late Surrender: Reduces house edge by ~0.07%." + "Late Surrender: Reduces house edge by ~0.07%." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Late Surrender: Reduces house edge by ~0.07%." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendición tardía: Reduce la ventaja en ~0.07%." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendición tardía: Reduce la ventaja en ~0.07%." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandon tardif: Réduit l'avantage de ~0.07%." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandon tardif: Réduit l'avantage de ~0.07%." } } } }, - "Launch": { - "comment": "A tab in the BrandingPreviewView that links to the launch screen preview.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Launch" + "Launch" : { + "comment" : "A tab in the BrandingPreviewView that links to the launch screen preview.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Launch" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Lanzamiento" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lanzamiento" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Lancement" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lancement" } } } }, - "LEGAL": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "LEGAL" + "LEGAL" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "LEGAL" } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "LEGAL" + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "LEGAL" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "LÉGAL" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "LÉGAL" } } } }, - "LOSE": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "LOSE" + "LOSE" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "LOSE" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "PIERDE" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "PIERDE" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "PERDU" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "PERDU" } } } }, - "Losses": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Losses" + "Losses" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Losses" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pérdidas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pérdidas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pertes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pertes" } } } }, - "Lower house edge": { - "comment": "Description of a deck count option when the user selects 2 decks.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Lower house edge" + "Lower house edge" : { + "comment" : "Description of a deck count option when the user selects 2 decks.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lower house edge" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Menor ventaja de la casa" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menor ventaja de la casa" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Avantage maison plus faible" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avantage maison plus faible" } } } }, - "Main Bet": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Main Bet" + "Main Bet" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main Bet" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuesta principal" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuesta principal" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mise principale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise principale" } } } }, - "Main Hand": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Main Hand" + "Main Hand" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main Hand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mano principal" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mano principal" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Main principale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main principale" } } } }, - "MAX": { - "comment": "The text displayed in the center of the chip badge when it represents the maximum bet.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "MAX" + "MAX" : { + "comment" : "The text displayed in the center of the chip badge when it represents the maximum bet.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "MAX" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "MÁX" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "MÁX" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "MAX" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "MAX" } } } }, - "Max: $%@": { - "comment": "A label displaying the maximum bet amount. The argument is the maximum bet amount.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Max: $%@" + "Max: $%@" : { + "comment" : "A label displaying the maximum bet amount. The argument is the maximum bet amount.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Max: $%@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Máx: $%@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máx: $%@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Max: %@ $" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Max: %@ $" } } } }, - "Maximum penetration": { - "comment": "Description of a deck count option when the user selects 8 decks.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Maximum penetration" + "Maximum penetration" : { + "comment" : "Description of a deck count option when the user selects 8 decks.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maximum penetration" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Penetración máxima" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Penetración máxima" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pénétration maximale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pénétration maximale" } } } }, - "Min: $%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Min: $%lld" + "Min: $%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Min: $%lld" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mín: $%lld" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mín: $%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Min: $%lld" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Min: $%lld" } } } }, - "Mixed Pair": { - "comment": "Description of a Perfect Pairs side bet outcome when the first two cards have the same rank but different color.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mixed Pair" + "Mixed Pair" : { + "comment" : "Description of a Perfect Pairs side bet outcome when the first two cards have the same rank but different color.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mixed Pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par Mixto" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par Mixto" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire Mixte" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire Mixte" } } } }, - "Mixed Pair (diff. color): 6:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mixed Pair (diff. color): 6:1" + "Mixed Pair (diff. color): 6:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mixed Pair (diff. color): 6:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par mixto (diferente color): 6:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par mixto (diferente color): 6:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire mixte (couleur différente) : 6:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire mixte (couleur différente) : 6:1" } } } }, - "More decks = harder to count cards.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "More decks = harder to count cards." + "More decks = harder to count cards." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "More decks = harder to count cards." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Más barajas = más difícil contar cartas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Más barajas = más difícil contar cartas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Plus de jeux = plus difficile de compter les cartes." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plus de jeux = plus difficile de compter les cartes." } } } }, - "Most popular style on the Las Vegas Strip.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Most popular style on the Las Vegas Strip." + "Most popular style on the Las Vegas Strip." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Most popular style on the Las Vegas Strip." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Estilo más popular en el Strip de Las Vegas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estilo más popular en el Strip de Las Vegas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Style le plus populaire sur le Strip de Las Vegas." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Style le plus populaire sur le Strip de Las Vegas." } } } }, - "Net": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Net" + "Net" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Net" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Neto" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Neto" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Net" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Net" } } } }, - "Never": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Never" + "Never" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Never" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Nunca" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nunca" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Jamais" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jamais" } } } }, - "Never split 10s or 5s.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Never split 10s or 5s." + "Never split 10s or 5s." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Never split 10s or 5s." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Nunca dividas 10s o 5s." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nunca dividas 10s o 5s." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ne jamais séparer les 10 ou les 5." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne jamais séparer les 10 ou les 5." } } } }, - "New Round": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "New Round" + "New Round" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "New Round" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Nueva ronda" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nueva ronda" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Nouvelle partie" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nouvelle partie" } } } }, - "No Hand": { - "comment": "Description of a 21+3 side bet outcome when there is no qualifying hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No Hand" + "No Hand" : { + "comment" : "Description of a 21+3 side bet outcome when there is no qualifying hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No Hand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sin Mano" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin Mano" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pas de Main" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas de Main" } } } }, - "No hole card, dealer stands on soft 17, no surrender": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No hole card, dealer stands on soft 17, no surrender" + "No hole card, dealer stands on soft 17, no surrender" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No hole card, dealer stands on soft 17, no surrender" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sin carta oculta, crupier se planta en 17 suave, sin rendición" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin carta oculta, crupier se planta en 17 suave, sin rendición" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pas de carte cachée, croupier reste sur 17 souple, pas d'abandon" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas de carte cachée, croupier reste sur 17 souple, pas d'abandon" } } } }, - "No hole card: dealer takes second card after player acts.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No hole card: dealer takes second card after player acts." + "No hole card: dealer takes second card after player acts." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No hole card: dealer takes second card after player acts." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sin carta oculta: el crupier toma la segunda carta después de que el jugador actúe." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin carta oculta: el crupier toma la segunda carta después de que el jugador actúe." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pas de carte cachée: le croupier prend sa seconde carte après l'action du joueur." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas de carte cachée: le croupier prend sa seconde carte après l'action du joueur." } } } }, - "No Pair": { - "comment": "Description of a Perfect Pairs side bet outcome when there is no pair.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No Pair" + "No Pair" : { + "comment" : "Description of a Perfect Pairs side bet outcome when there is no pair.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No Pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sin Par" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin Par" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pas de Paire" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas de Paire" } } } }, - "No surrender option.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No surrender option." + "No surrender option." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No surrender option." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sin opción de rendición." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin opción de rendición." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pas d'option d'abandon." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas d'option d'abandon." } } } }, - "No Thanks": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No Thanks" + "No Thanks" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No Thanks" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "No, gracias" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "No, gracias" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Non merci" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Non merci" } } } }, - "Objective": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Objective" + "Objective" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objective" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Objetivo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objetivo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Objectif" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objectif" } } } }, - "Offered when dealer shows an Ace.": { - "comment": "Description of the insurance option in blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Offered when dealer shows an Ace." + "Offered when dealer shows an Ace." : { + "comment" : "Description of the insurance option in blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Offered when dealer shows an Ace." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ofrecido cuando el crupier muestra un As." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ofrecido cuando el crupier muestra un As." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Offert quand le croupier montre un As." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Offert quand le croupier montre un As." } } } }, - "Option 1: Screenshot from Preview": { - "comment": "A description of one method for exporting app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Option 1: Screenshot from Preview" + "Option 1: Screenshot from Preview" : { + "comment" : "A description of one method for exporting app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Option 1: Screenshot from Preview" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Opción 1: Captura desde la vista previa" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opción 1: Captura desde la vista previa" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Option 1: Capture depuis l'aperçu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Option 1: Capture depuis l'aperçu" } } } }, - "Option 2: Use IconRenderer in Code": { - "comment": "A subheading within the instructions section of the BrandingPreviewView.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Option 2: Use IconRenderer in Code" + "Option 2: Use IconRenderer in Code" : { + "comment" : "A subheading within the instructions section of the BrandingPreviewView.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Option 2: Use IconRenderer in Code" } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Opción 2: Usa IconRenderer en código" + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opción 2: Usa IconRenderer en código" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Option 2: Utilisez IconRenderer dans le code" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Option 2: Utilisez IconRenderer dans le code" } } } }, - "Optional bets placed before the deal.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Optional bets placed before the deal." + "Optional bets placed before the deal." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Optional bets placed before the deal." } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuestas opcionales colocadas antes del reparto." + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuestas opcionales colocadas antes del reparto." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paris optionnels placés avant la distribution." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paris optionnels placés avant la distribution." } } } }, - "Other Game Icons": { - "comment": "A label displayed above a section of the BrandingPreviewView that shows icons for other games.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Other Game Icons" + "Other Game Icons" : { + "comment" : "A label displayed above a section of the BrandingPreviewView that shows icons for other games.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Other Game Icons" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Otros iconos de juegos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otros iconos de juegos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Autres icônes de jeux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autres icônes de jeux" } } } }, - "Others": { - "comment": "A tab label for the section displaying icons for other games.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Others" + "Others" : { + "comment" : "A tab label for the section displaying icons for other games.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Others" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Otros" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otros" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Autres" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autres" } } } }, - "OUTCOMES": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "OUTCOMES" + "OUTCOMES" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "OUTCOMES" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "RESULTADOS" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "RESULTADOS" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "RÉSULTATS" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "RÉSULTATS" } } } }, - "Payouts": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Payouts" + "Payouts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payouts" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pagos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pagos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paiements" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paiements" } } } }, - "Pays 2:1 if dealer has Blackjack.": { - "comment": "Description of the insurance payout when the player wins.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pays 2:1 if dealer has Blackjack." + "Pays 2:1 if dealer has Blackjack." : { + "comment" : "Description of the insurance payout when the player wins.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pays 2:1 if dealer has Blackjack." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Paga 2:1 si el crupier tiene Blackjack." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paga 2:1 si el crupier tiene Blackjack." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paie 2:1 si le croupier a un Blackjack." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paie 2:1 si le croupier a un Blackjack." } } } }, - "Perfect Pair": { - "comment": "Name of the side bet outcome where the first two cards form a perfect pair.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Perfect Pair" + "Perfect Pair" : { + "comment" : "Name of the side bet outcome where the first two cards form a perfect pair.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfect Pair" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par Perfecto" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par Perfecto" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire Parfaite" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire Parfaite" } } } }, - "Perfect Pair (same suit): 25:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Perfect Pair (same suit): 25:1" + "Perfect Pair (same suit): 25:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfect Pair (same suit): 25:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Par perfecto (mismo palo): 25:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Par perfecto (mismo palo): 25:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paire parfaite (même couleur) : 25:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paire parfaite (même couleur) : 25:1" } } } }, - "Perfect Pairs": { - "comment": "Name of the Perfect Pairs side bet type.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Perfect Pairs" + "Perfect Pairs" : { + "comment" : "Name of the Perfect Pairs side bet type.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfect Pairs" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pares Perfectos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pares Perfectos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paires Parfaites" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paires Parfaites" } } } }, - "Perfect Pairs (25:1) and 21+3 (100:1)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Perfect Pairs (25:1) and 21+3 (100:1)" + "Perfect Pairs (25:1) and 21+3 (100:1)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfect Pairs (25:1) and 21+3 (100:1)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pares perfectos (25:1) y 21+3 (100:1)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pares perfectos (25:1) y 21+3 (100:1)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paires parfaites (25:1) et 21+3 (100:1)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paires parfaites (25:1) et 21+3 (100:1)" } } } }, - "Perfect Pairs: Bet on your first two cards being a pair.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Perfect Pairs: Bet on your first two cards being a pair." + "Perfect Pairs: Bet on your first two cards being a pair." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfect Pairs: Bet on your first two cards being a pair." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Pares perfectos: Apuesta a que tus primeras dos cartas sean un par." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pares perfectos: Apuesta a que tus primeras dos cartas sean un par." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paires parfaites : Pariez sur vos deux premières cartes formant une paire." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paires parfaites : Pariez sur vos deux premières cartes formant une paire." } } } }, - "Play Again": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Play Again" + "Play Again" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Play Again" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Jugar de nuevo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jugar de nuevo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Rejouer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejouer" } } } }, - "Player hand: %@. Value: %@": { - "comment": "A user-readable string describing a player's blackjack hand, including the card values and any relevant game results. The argument is a comma-separated list of the card descriptions in the player's hand.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Player hand: %1$@. Value: %2$@" + "Player hand: %@. Value: %@" : { + "comment" : "A user-readable string describing a player's blackjack hand, including the card values and any relevant game results. The argument is a comma-separated list of the card descriptions in the player's hand.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Player hand: %1$@. Value: %2$@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mano del jugador: %@. Valor: %@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mano del jugador: %@. Valor: %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Main du joueur: %@. Valeur: %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main du joueur: %@. Valeur: %@" } } } }, - "Poker": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Poker" + "Poker" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poker" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Póker" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Póker" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Poker" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poker" } } } }, - "Poker hand from your first two cards + dealer's upcard": { - "comment": "Description of the 21+3 side bet type.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Poker hand from your first two cards + dealer's upcard" + "Poker hand from your first two cards + dealer's upcard" : { + "comment" : "Description of the 21+3 side bet type.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poker hand from your first two cards + dealer's upcard" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mano de póquer con tus primeras dos cartas + carta visible del crupier" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mano de póquer con tus primeras dos cartas + carta visible del crupier" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Main de poker avec vos deux premières cartes + carte visible du croupier" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Main de poker avec vos deux premières cartes + carte visible du croupier" } } } }, - "Positive count = more high cards remain = player advantage.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Positive count = more high cards remain = player advantage." + "Positive count = more high cards remain = player advantage." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Positive count = more high cards remain = player advantage." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Conteo positivo = más cartas altas = ventaja del jugador." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conteo positivo = más cartas altas = ventaja del jugador." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Compte positif = plus de cartes hautes = avantage joueur." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte positif = plus de cartes hautes = avantage joueur." } } } }, - "Privacy Policy": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Privacy Policy" + "Privacy Policy" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Privacy Policy" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Política de privacidad" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Política de privacidad" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Politique de confidentialité" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Politique de confidentialité" } } } }, - "PUSH": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "PUSH" + "PUSH" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "PUSH" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "EMPATE" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "EMPATE" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "ÉGALITÉ" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ÉGALITÉ" } } } }, - "Push: Bet returned": { - "comment": "Description of the payout when the player and the dealer have the same hand value.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Push: Bet returned" + "Push: Bet returned" : { + "comment" : "Description of the payout when the player and the dealer have the same hand value.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Push: Bet returned" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Empate: Apuesta devuelta" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Empate: Apuesta devuelta" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Égalité: Mise retournée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Égalité: Mise retournée" } } } }, - "Pushes": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pushes" + "Pushes" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pushes" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Empates" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Empates" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Égalités" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Égalités" } } } }, - "Re-split Aces": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Re-split Aces" + "Re-split Aces" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-split Aces" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Re-dividir ases" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-dividir ases" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Re-séparer les as" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-séparer les as" } } } }, - "Re-split aces allowed.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Re-split aces allowed." + "Re-split aces allowed." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-split aces allowed." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Re-dividir ases permitido." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-dividir ases permitido." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Re-séparer les as autorisé." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-séparer les as autorisé." } } } }, - "Re-split Aces: Reduces house edge by ~0.05%.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Re-split Aces: Reduces house edge by ~0.05%." + "Re-split Aces: Reduces house edge by ~0.05%." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-split Aces: Reduces house edge by ~0.05%." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Re-dividir Ases: Reduce la ventaja en ~0.05%." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-dividir Ases: Reduce la ventaja en ~0.05%." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Re-séparer les As: Réduit l'avantage de ~0.05%." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Re-séparer les As: Réduit l'avantage de ~0.05%." } } } }, - "Reset to Defaults": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reset to Defaults" + "Reset Game" : { + "comment" : "Button to reset game balance and reshuffle cards.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reset Game" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Restablecer valores predeterminados" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reiniciar Juego" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Réinitialiser par défaut" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser le Jeu" } } } }, - "Roulette": { - "comment": "The name of a roulette card.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Roulette" + "Reset to Defaults" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reset to Defaults" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ruleta" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restablecer valores predeterminados" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Roulette" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser par défaut" } } } }, - "Round result: %@": { - "comment": "An accessibility label for the round result banner, describing the main hand result.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Round result: %@" + "Restore starting balance and reshuffle" : { + "comment" : "Subtitle for Reset Game button explaining what it does.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restore starting balance and reshuffle" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Resultado de la ronda: %@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restaurar saldo inicial y barajar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Résultat de la manche: %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restaurer le solde initial et remélanger" } } } }, - "Rounds": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Rounds" + "Roulette" : { + "comment" : "The name of a roulette card.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Roulette" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rondas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ruleta" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Parties" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Roulette" } } } }, - "Rounds Played": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Rounds Played" + "Round result: %@" : { + "comment" : "An accessibility label for the round result banner, describing the main hand result.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Round result: %@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rondas jugadas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resultado de la ronda: %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Manches jouées" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Résultat de la manche: %@" } } } }, - "Rule Variations": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Rule Variations" + "Rounds" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rounds" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Variaciones de reglas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rondas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Variations de règles" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Parties" } } } }, - "RULES": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "RULES" + "Rounds Played" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rounds Played" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "REGLAS" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rondas jugadas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "RÈGLES" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manches jouées" } } } }, - "Running": { - "comment": "The text \"Running\" displayed in the card count view.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Running" + "Rule Variations" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rule Variations" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Corriendo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Variaciones de reglas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Courant" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Variations de règles" } } } }, - "Running %lld, True %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Running %lld, True %@" + "RULES" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "RULES" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Actual %lld, Verdadero %@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "REGLAS" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Courant %lld, Vrai %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "RÈGLES" } } } }, - "Reset Game": { - "comment": "Button to reset game balance and reshuffle cards.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reset Game" + "Running" : { + "comment" : "The text \"Running\" displayed in the card count view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Running" } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Reiniciar Juego" + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Corriendo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Réinitialiser le Jeu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Courant" } } } }, - "Restore starting balance and reshuffle": { - "comment": "Subtitle for Reset Game button explaining what it does.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Restore starting balance and reshuffle" + "Running %lld, True %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Running %lld, True %@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Restaurar saldo inicial y barajar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actual %lld, Verdadero %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Restaurer le solde initial et remélanger" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Courant %lld, Vrai %@" } } } }, - "Running Count: Sum of all card values seen.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Running Count: Sum of all card values seen." + "Running Count: Sum of all card values seen." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Running Count: Sum of all card values seen." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Conteo corriente: Suma de todos los valores de cartas vistas." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conteo corriente: Suma de todos los valores de cartas vistas." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Compte courant: Somme de toutes les valeurs de cartes vues." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte courant: Somme de toutes les valeurs de cartes vues." } } } }, - "SESSION SUMMARY": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "SESSION SUMMARY" + "SESSION SUMMARY" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "SESSION SUMMARY" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "RESUMEN DE SESIÓN" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "RESUMEN DE SESIÓN" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "RÉSUMÉ DE SESSION" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "RÉSUMÉ DE SESSION" } } } }, - "Settings": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Settings" + "Settings" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Settings" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Configuración" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuración" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paramètres" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètres" } } } }, - "Shoe reshuffled": { - "comment": "A description of the action of reshuffling a shoe.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Shoe reshuffled" + "Shoe reshuffled" : { + "comment" : "A description of the action of reshuffling a shoe.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shoe reshuffled" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Zapato mezclado" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapato mezclado" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sabot mélangé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sabot mélangé" } } } }, - "Shoe Reshuffled": { - "comment": "A title for the reshuffle notification.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Shoe Reshuffled" + "Shoe Reshuffled" : { + "comment" : "A title for the reshuffle notification.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shoe Reshuffled" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Zapato mezclado" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapato mezclado" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sabot mélangé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sabot mélangé" } } } }, - "Shoe reshuffled, count reset to zero": { - "comment": "A description of the accessibility label for the reshuffle notification view when the card count is reset.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Shoe reshuffled, count reset to zero" + "Shoe reshuffled, count reset to zero" : { + "comment" : "A description of the accessibility label for the reshuffle notification view when the card count is reset.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shoe reshuffled, count reset to zero" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Zapato mezclado, conteo reiniciado a cero" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapato mezclado, conteo reiniciado a cero" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sabot mélangé, compte remis à zéro" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sabot mélangé, compte remis à zéro" } } } }, - "Show Animations": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show Animations" + "Show Animations" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Animations" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mostrar animaciones" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar animaciones" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Afficher les animations" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher les animations" } } } }, - "Show cards left in shoe": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show cards left in shoe" + "Show cards left in shoe" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show cards left in shoe" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mostrar cartas en el zapato" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar cartas en el zapato" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Afficher cartes restantes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher cartes restantes" } } } }, - "Show Hi-Lo running count & card values": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show Hi-Lo running count & card values" + "Show Hi-Lo running count & card values" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Hi-Lo running count & card values" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mostrar conteo Hi-Lo y valores de cartas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar conteo Hi-Lo y valores de cartas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Afficher le compte Hi-Lo et les valeurs des cartes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher le compte Hi-Lo et les valeurs des cartes" } } } }, - "Show Hints": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show Hints" + "Show Hint" : { + "comment" : "Label for a toolbar button that shows a hint.", + "isCommentAutoGenerated" : true + }, + "Show Hints" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Hints" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mostrar consejos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar consejos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Afficher les conseils" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher les conseils" } } } }, - "Side Bets": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Side Bets" + "Side Bets" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Side Bets" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Apuestas Laterales" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apuestas Laterales" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Paris Annexes" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paris Annexes" } } } }, - "SIDE BETS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "SIDE BETS" + "SIDE BETS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "SIDE BETS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "APUESTAS LATERALES" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "APUESTAS LATERALES" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "PARIS LATÉRAUX" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "PARIS LATÉRAUX" } } } }, - "Side bets have higher house edge than main game.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Side bets have higher house edge than main game." + "Side bets have higher house edge than main game." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Side bets have higher house edge than main game." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Las apuestas laterales tienen mayor ventaja de la casa que el juego principal." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Las apuestas laterales tienen mayor ventaja de la casa que el juego principal." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Les paris latéraux ont un avantage de la maison plus élevé que le jeu principal." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les paris latéraux ont un avantage de la maison plus élevé que le jeu principal." } } } }, - "Sign in to iCloud to sync progress": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sign in to iCloud to sync progress" + "Sign in to iCloud to sync progress" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sign in to iCloud to sync progress" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Inicia sesión en iCloud para sincronizar progreso" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inicia sesión en iCloud para sincronizar progreso" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Connectez-vous à iCloud pour synchroniser la progression" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connectez-vous à iCloud pour synchroniser la progression" } } } }, - "Single deck, higher variance": { - "comment": "Description of a deck count option when the user selects one deck.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Single deck, higher variance" + "Single deck, higher variance" : { + "comment" : "Description of a deck count option when the user selects one deck.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Single deck, higher variance" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Una baraja, mayor varianza" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Una baraja, mayor varianza" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Un seul jeu, variance plus élevée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un seul jeu, variance plus élevée" } } } }, - "Some games: Dealer hits on 'soft 17' (Ace + 6).": { - "comment": "Description of a rule where the dealer must hit on a 'soft 17' (Ace + 6) in some blackjack games.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Some games: Dealer hits on 'soft 17' (Ace + 6)." + "Some games: Dealer hits on 'soft 17' (Ace + 6)." : { + "comment" : "Description of a rule where the dealer must hit on a 'soft 17' (Ace + 6) in some blackjack games.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Some games: Dealer hits on 'soft 17' (Ace + 6)." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Algunos juegos: El crupier pide carta con '17 suave' (As + 6)." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Algunos juegos: El crupier pide carta con '17 suave' (As + 6)." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Certains jeux: Le croupier tire sur '17 souple' (As + 6)." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Certains jeux: Le croupier tire sur '17 souple' (As + 6)." } } } }, - "SOUND & HAPTICS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "SOUND & HAPTICS" + "SOUND & HAPTICS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "SOUND & HAPTICS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "SONIDO Y VIBRACIÓN" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "SONIDO Y VIBRACIÓN" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "SON ET HAPTIQUE" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "SON ET HAPTIQUE" } } } }, - "Sound Effects": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sound Effects" + "Sound Effects" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sound Effects" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Efectos de sonido" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efectos de sonido" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Effets sonores" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effets sonores" } } } }, - "Split": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Split" + "Split" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Split" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Dividir" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dividir" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Séparer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Séparer" } } } }, - "Split up to 4 hands, but not aces.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Split up to 4 hands, but not aces." + "Split up to 4 hands, but not aces." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Split up to 4 hands, but not aces." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Divide hasta 4 manos, pero no ases." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Divide hasta 4 manos, pero no ases." } - }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Séparez jusqu'à 4 mains, mais pas les as." + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Séparez jusqu'à 4 mains, mais pas les as." } } } }, - "Split, not Stand (TC %@)": { - "comment": "Short hint to split instead of stand based on true count.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Split, not Stand (TC %@)" + "Split, not Stand (TC %@)" : { + "comment" : "Short hint to split instead of stand based on true count.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Split, not Stand (TC %@)" } - }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Dividir, no Plantarse (TC %@)" + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dividir, no Plantarse (TC %@)" } - }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Séparer, pas Rester (TC %@)" + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Séparer, pas Rester (TC %@)" } } } }, - "Split: If you have two cards of the same value, split into two hands": { - "comment": "Description of the 'Split' action in the game rules.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Split: If you have two cards of the same value, split into two hands" + "Split: If you have two cards of the same value, split into two hands" : { + "comment" : "Description of the 'Split' action in the game rules.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Split: If you have two cards of the same value, split into two hands" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Dividir: Si tienes dos cartas del mismo valor, divide en dos manos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dividir: Si tienes dos cartas del mismo valor, divide en dos manos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Séparer: Si vous avez deux cartes de même valeur, séparez en deux mains" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Séparer: Si vous avez deux cartes de même valeur, séparez en deux mains" } } } }, - "Stand": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stand" + "Stand" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Plantarse" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plantarse" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Rester" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rester" } } } }, - "Stand on 17+ always.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stand on 17+ always." + "Stand on 17+ always." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stand on 17+ always." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Plántate siempre con 17+." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plántate siempre con 17+." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Restez toujours sur 17+." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restez toujours sur 17+." } } } }, - "Stand, not Hit (TC %@)": { - "comment": "Short hint to stand instead of hit based on true count.", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stand, not Hit (TC %@)" + "Stand, not Hit (TC %@)" : { + "comment" : "Short hint to stand instead of hit based on true count.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stand, not Hit (TC %@)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Plantarse, no Pedir (TC %@)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plantarse, no Pedir (TC %@)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Rester, pas Tirer (TC %@)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rester, pas Tirer (TC %@)" } } } }, - "Stand: Keep your current hand": { - "comment": "Action to keep your current hand in Blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stand: Keep your current hand" + "Stand: Keep your current hand" : { + "comment" : "Action to keep your current hand in Blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stand: Keep your current hand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Plantarse: Mantén tu mano actual" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plantarse: Mantén tu mano actual" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Rester: Gardez votre main actuelle" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rester: Gardez votre main actuelle" } } } }, - "Standard casino": { - "comment": "Description of a deck count option when the user selects 6 decks.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Standard casino" + "Standard casino" : { + "comment" : "Description of a deck count option when the user selects 6 decks.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Standard casino" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Casino estándar" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Casino estándar" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Casino standard" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Casino standard" } } } }, - "Standard rules on the East Coast.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Standard rules on the East Coast." + "Standard rules on the East Coast." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Standard rules on the East Coast." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Reglas estándar en la Costa Este." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reglas estándar en la Costa Este." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Règles standard sur la Côte Est." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Règles standard sur la Côte Est." } } } }, - "STARTING BALANCE": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "STARTING BALANCE" + "STARTING BALANCE" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "STARTING BALANCE" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "SALDO INICIAL" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "SALDO INICIAL" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "SOLDE DE DÉPART" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "SOLDE DE DÉPART" } } } }, - "Statistics": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Statistics" + "Statistics" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statistics" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Estadísticas" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estadísticas" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Statistiques" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statistiques" } } } }, - "Straight": { - "comment": "Name of a 21+3 result when the user has three consecutive ranks.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Straight" + "Straight" : { + "comment" : "Name of a 21+3 result when the user has three consecutive ranks.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Straight" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Escalera" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escalera" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Suite" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suite" } } } }, - "Straight (consecutive): 10:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Straight (consecutive): 10:1" + "Straight (consecutive): 10:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Straight (consecutive): 10:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Escalera (consecutivas): 10:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escalera (consecutivas): 10:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Suite (consécutives) : 10:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suite (consécutives) : 10:1" } } } }, - "Straight Flush": { - "comment": "Description of a 21+3 side bet outcome when the player has a straight flush.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Straight Flush" + "Straight Flush" : { + "comment" : "Description of a 21+3 side bet outcome when the player has a straight flush.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Straight Flush" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Escalera de Color" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escalera de Color" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Quinte Flush" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quinte Flush" } } } }, - "Straight Flush: 40:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Straight Flush: 40:1" + "Straight Flush: 40:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Straight Flush: 40:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Escalera de color: 40:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escalera de color: 40:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Quinte flush : 40:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quinte flush : 40:1" } } } }, - "Suited Trips": { - "comment": "Name of a 21+3 side bet outcome when the user has three cards of the same rank and suit.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Suited Trips" + "Suited Trips" : { + "comment" : "Name of a 21+3 side bet outcome when the user has three cards of the same rank and suit.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suited Trips" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Trío del Mismo Palo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trío del Mismo Palo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Brelan Assorti" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brelan Assorti" } } } }, - "Suited Trips (same rank & suit): 100:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Suited Trips (same rank & suit): 100:1" + "Suited Trips (same rank & suit): 100:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suited Trips (same rank & suit): 100:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Trío del mismo palo (mismo rango y palo): 100:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trío del mismo palo (mismo rango y palo): 100:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Brelan assorti (même rang et couleur) : 100:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brelan assorti (même rang et couleur) : 100:1" } } } }, - "Surrender": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrender" + "Surrender" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrender" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendirse" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendirse" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandonner" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandonner" } } } }, - "SURRENDER": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "SURRENDER" + "SURRENDER" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "SURRENDER" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "RENDICIÓN" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "RENDICIÓN" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "ABANDON" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ABANDON" } } } }, - "Surrender 16 vs dealer 9, 10, Ace.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrender 16 vs dealer 9, 10, Ace." + "Surrender 16 vs dealer 9, 10, Ace." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrender 16 vs dealer 9, 10, Ace." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendirse con 16 contra crupier 9, 10, As." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendirse con 16 contra crupier 9, 10, As." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandonner 16 contre croupier 9, 10, As." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandonner 16 contre croupier 9, 10, As." } } } }, - "Surrender after dealer checks for blackjack": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrender after dealer checks for blackjack" + "Surrender after dealer checks for blackjack" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrender after dealer checks for blackjack" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendirse después de que el crupier revise blackjack" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendirse después de que el crupier revise blackjack" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandonner après vérification du blackjack" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandonner après vérification du blackjack" } } } }, - "Surrender: Give up half your bet and end the hand": { - "comment": "Description of the 'Surrender' action in the game rules.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrender: Give up half your bet and end the hand" + "Surrender: Give up half your bet and end the hand" : { + "comment" : "Description of the 'Surrender' action in the game rules.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrender: Give up half your bet and end the hand" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendirse: Cede la mitad de tu apuesta y termina la mano" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendirse: Cede la mitad de tu apuesta y termina la mano" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandonner: Cédez la moitié de votre mise et terminez la main" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandonner: Cédez la moitié de votre mise et terminez la main" } } } }, - "Surrender: Half bet returned": { - "comment": "Description of the payout for surrendering in Blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrender: Half bet returned" + "Surrender: Half bet returned" : { + "comment" : "Description of the payout for surrendering in Blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrender: Half bet returned" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendición: Mitad de la apuesta devuelta" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendición: Mitad de la apuesta devuelta" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandon: Moitié de la mise retournée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandon: Moitié de la mise retournée" } } } }, - "Surrenders": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Surrenders" + "Surrenders" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Surrenders" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rendiciones" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendiciones" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Abandons" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abandons" } } } }, - "Sync Now": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync Now" + "Sync Now" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync Now" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizar ahora" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizar ahora" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser maintenant" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser maintenant" } } } }, - "Sync progress across devices": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync progress across devices" + "Sync progress across devices" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync progress across devices" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizar progreso entre dispositivos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizar progreso entre dispositivos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser la progression entre appareils" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser la progression entre appareils" } } } }, - "TABLE LIMITS": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "TABLE LIMITS" + "TABLE LIMITS" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "TABLE LIMITS" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "LÍMITES DE MESA" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "LÍMITES DE MESA" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "LIMITES DE TABLE" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "LIMITES DE TABLE" } } } }, - "TAP TO BET": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "TAP TO BET" + "TAP TO BET" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "TAP TO BET" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "TOCA PARA APOSTAR" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "TOCA PARA APOSTAR" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "TOUCHEZ POUR MISER" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "TOUCHEZ POUR MISER" } } } }, - "These show how the same pattern works for other games": { - "comment": "A description below the section of the view that previews icons for other games.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "These show how the same pattern works for other games" + "These show how the same pattern works for other games" : { + "comment" : "A description below the section of the view that previews icons for other games.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "These show how the same pattern works for other games" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Estos muestran cómo funciona el mismo patrón para otros juegos" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estos muestran cómo funciona el mismo patrón para otros juegos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ceux-ci montrent comment le même modèle fonctionne pour d'autres jeux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ceux-ci montrent comment le même modèle fonctionne pour d'autres jeux" } } } }, - "This will delete all saved progress, statistics, and reset your balance. This cannot be undone.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This will delete all saved progress, statistics, and reset your balance. This cannot be undone." + "This will delete all saved progress, statistics, and reset your balance. This cannot be undone." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This will delete all saved progress, statistics, and reset your balance. This cannot be undone." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Esto eliminará todo el progreso guardado, estadísticas y reiniciará tu saldo. Esto no se puede deshacer." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esto eliminará todo el progreso guardado, estadísticas y reiniciará tu saldo. Esto no se puede deshacer." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Cela supprimera toute la progression sauvegardée, les statistiques et réinitialisera votre solde. Cette action est irréversible." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cela supprimera toute la progression sauvegardée, les statistiques et réinitialisera votre solde. Cette action est irréversible." } } } }, - "Three of a Kind": { - "comment": "Description of a 21+3 side bet outcome when they have three of a kind.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Three of a Kind" + "Three of a Kind" : { + "comment" : "Description of a 21+3 side bet outcome when they have three of a kind.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Three of a Kind" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Trío" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trío" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Brelan" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brelan" } } } }, - "Three of a Kind: 30:1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Three of a Kind: 30:1" + "Three of a Kind: 30:1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Three of a Kind: 30:1" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Trío: 30:1" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trío: 30:1" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Brelan : 30:1" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brelan : 30:1" } } } }, - "Total Winnings": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total Winnings" + "Total Winnings" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total Winnings" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ganancias totales" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ganancias totales" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Gains totaux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gains totaux" } } } }, - "Traditional European casino style.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Traditional European casino style." + "Traditional European casino style." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traditional European casino style." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Estilo tradicional de casino europeo." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estilo tradicional de casino europeo." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Style traditionnel de casino européen." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Style traditionnel de casino européen." } } } }, - "True": { - "comment": "A label displayed above the true count of a card counting practice session.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "True" + "True" : { + "comment" : "A label displayed above the true count of a card counting practice session.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "True" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Verdadero" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verdadero" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vrai" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vrai" } } } }, - "True count of +2 or higher favors the player.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "True count of +2 or higher favors the player." + "True count of +2 or higher favors the player." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "True count of +2 or higher favors the player." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cuenta verdadera de +2 o más favorece al jugador." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta verdadera de +2 o más favorece al jugador." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Un compte vrai de +2 ou plus favorise le joueur." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un compte vrai de +2 ou plus favorise le joueur." } } } }, - "True Count: Running count ÷ decks remaining.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "True Count: Running count ÷ decks remaining." + "True Count: Running count ÷ decks remaining." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "True Count: Running count ÷ decks remaining." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cuenta Verdadera: Cuenta actual ÷ mazos restantes." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta Verdadera: Cuenta actual ÷ mazos restantes." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Compte Vrai: Compte courant ÷ paquets restants." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte Vrai: Compte courant ÷ paquets restants." } } } }, - "Upload the 1024px icon to appicon.co or makeappicon.com to generate all sizes automatically.": { - "comment": "A description of an alternative method for generating app icons.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Upload the 1024px icon to appicon.co or makeappicon.com to generate all sizes automatically." + "Upload the 1024px icon to appicon.co or makeappicon.com to generate all sizes automatically." : { + "comment" : "A description of an alternative method for generating app icons.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upload the 1024px icon to appicon.co or makeappicon.com to generate all sizes automatically." } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sube el icono de 1024px a appicon.co o makeappicon.com para generar todos los tamaños automáticamente." + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sube el icono de 1024px a appicon.co o makeappicon.com para generar todos los tamaños automáticamente." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Téléversez l'icône 1024px sur appicon.co ou makeappicon.com pour générer toutes les tailles automatiquement." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléversez l'icône 1024px sur appicon.co ou makeappicon.com pour générer toutes les tailles automatiquement." } } } }, - "Using the Count": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Using the Count" + "Using the Count" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Using the Count" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Usando el conteo" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usando el conteo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Utilisation du compte" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisation du compte" } } } }, - "Vegas Strip": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Vegas Strip" + "Vegas Strip" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vegas Strip" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Vegas Strip" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vegas Strip" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vegas Strip" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vegas Strip" } } } }, - "Vibration on actions": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Vibration on actions" + "Vibration on actions" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vibration on actions" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Vibración en acciones" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vibración en acciones" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vibration sur les actions" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vibration sur les actions" } } } }, - "Win Rate": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Win Rate" + "Win Rate" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Win Rate" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tasa de victoria" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tasa de victoria" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Taux de victoire" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taux de victoire" } } } }, - "Win: 1:1 (even money)": { - "comment": "Payout description for a win in Blackjack.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Win: 1:1 (even money)" + "Win: 1:1 (even money)" : { + "comment" : "Payout description for a win in Blackjack.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Win: 1:1 (even money)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Victoria: 1:1 (dinero par)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Victoria: 1:1 (dinero par)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Victoire: 1:1 (argent égal)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Victoire: 1:1 (argent égal)" } } } }, - "WIN!": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "WIN!" + "WIN!" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "WIN!" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡GANA!" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡GANA!" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "GAGNÉ!" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "GAGNÉ!" } } } }, - "Wins": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Wins" + "Wins" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wins" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Victorias" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Victorias" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Victoires" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Victoires" } } } }, - "Worst": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Worst" + "Worst" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Worst" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Peor" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Peor" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Pire" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pire" } } } }, - "Yes ($%lld)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Yes ($%lld)" + "Yes ($%lld)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yes ($%lld)" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sí ($%lld)" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sí ($%lld)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Oui ($%lld)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oui ($%lld)" } } } }, - "You've run out of chips!": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "You've run out of chips!" + "You've run out of chips!" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You've run out of chips!" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡Te quedaste sin fichas!" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Te quedaste sin fichas!" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vous n'avez plus de jetons!" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous n'avez plus de jetons!" } } } } }, - "version": "1.1" -} + "version" : "1.1" +} \ No newline at end of file diff --git a/Blackjack/Blackjack/Theme/DesignConstants.swift b/Blackjack/Blackjack/Theme/DesignConstants.swift index 9b813d7..93dc652 100644 --- a/Blackjack/Blackjack/Theme/DesignConstants.swift +++ b/Blackjack/Blackjack/Theme/DesignConstants.swift @@ -109,6 +109,13 @@ enum Design { /// Bounce for side bet toast animations static let toastBounce: Double = 0.4 } + + // MARK: - Toast Configuration + + enum Toast { + /// Duration all toasts stay visible (in seconds). + static let duration: Duration = .seconds(2) + } } // MARK: - Blackjack App Colors diff --git a/Blackjack/Blackjack/Views/Game/GameTableView.swift b/Blackjack/Blackjack/Views/Game/GameTableView.swift index 7ab4920..477eeae 100644 --- a/Blackjack/Blackjack/Views/Game/GameTableView.swift +++ b/Blackjack/Blackjack/Views/Game/GameTableView.swift @@ -71,6 +71,31 @@ struct GameTableView: View { // Use global debug flag from Design constants private var showDebugBorders: Bool { Design.showDebugBorders } + // MARK: - Toolbar Buttons + + /// Returns hint toolbar button when a hint is available. + private func hintToolbarButtons(for state: GameState) -> [TopBarButton] { + guard state.currentHint != nil else { return [] } + return [ + TopBarButton( + icon: "lightbulb.fill", + accessibilityLabel: String(localized: "Show Hint") + ) { + // Show the toast with animation + withAnimation(.spring(duration: Design.Animation.springDuration)) { + state.showHintToast = true + } + // Auto-dismiss after delay (same as auto-show behavior) + Task { @MainActor in + try? await Task.sleep(for: Design.Toast.duration) + withAnimation(.spring(duration: Design.Animation.springDuration)) { + state.showHintToast = false + } + } + } + ] + } + // MARK: - Main Game View @ViewBuilder @@ -97,6 +122,7 @@ struct GameTableView: View { balance: state.balance, secondaryInfo: settings.showCardsRemaining ? "\(state.engine.cardsRemaining)" : nil, secondaryIcon: settings.showCardsRemaining ? "rectangle.portrait.on.rectangle.portrait.fill" : nil, + leadingButtons: hintToolbarButtons(for: state), onSettings: { showSettings = true }, onHelp: { showRules = true }, onStats: { showStats = true } @@ -143,7 +169,7 @@ struct GameTableView: View { .padding(.bottom, Design.Spacing.small) .debugBorder(showDebugBorders, color: .blue, label: "ActionBtns") } - .frame(maxWidth: .infinity, alignment: .top) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .zIndex(1) .onChange(of: state.currentPhase) { oldPhase, newPhase in Design.debugLog("🔄 Phase changed: \(oldPhase) → \(newPhase)") @@ -208,6 +234,7 @@ struct GameTableView: View { .allowsHitTesting(true) .zIndex(100) } + } .onChange(of: state.playerHands.count) { oldCount, newCount in Design.debugLog("👥 Player hands count: \(oldCount) → \(newCount)") diff --git a/Blackjack/Blackjack/Views/Table/BlackjackTableView.swift b/Blackjack/Blackjack/Views/Table/BlackjackTableView.swift index ae74c8a..90ec076 100644 --- a/Blackjack/Blackjack/Views/Table/BlackjackTableView.swift +++ b/Blackjack/Blackjack/Views/Table/BlackjackTableView.swift @@ -31,7 +31,6 @@ struct BlackjackTableView: View { @ScaledMetric(relativeTo: .headline) private var labelFontSize: CGFloat = Design.BaseFontSize.medium @ScaledMetric(relativeTo: .title) private var valueFontSize: CGFloat = Design.BaseFontSize.xLarge - @ScaledMetric(relativeTo: .caption) private var hintFontSize: CGFloat = Design.BaseFontSize.small // MARK: - Dynamic Card Sizing @@ -48,7 +47,7 @@ struct BlackjackTableView: View { /// Card width based on full screen height (stable - doesn't change with content) private var cardWidth: CGFloat { let maxDimension = screenHeight - let percentage: CGFloat = 0.15 // ~10% of screen + let percentage: CGFloat = 0.18 // ~10% of screen return maxDimension * percentage } @@ -58,32 +57,12 @@ struct BlackjackTableView: View { cardWidth * -0.55 } - /// Fixed height for the hint area to prevent layout shifts - private let hintAreaHeight: CGFloat = 44 - // Use global debug flag from Design constants private var showDebugBorders: Bool { Design.showDebugBorders } - /// Dynamic spacer height based on screen size. - /// Formula: spacing = clamp((screenHeight - baseline) * scale, min, max) - /// This produces smooth scaling across all device sizes: - /// - iPhone SE (~667pt): ~20pt - /// - iPhone Pro Max (~932pt): ~76pt - /// - iPad Mini (~1024pt): ~95pt - /// - iPad Pro 12.9" (~1366pt): ~150pt (capped) - private var dealerPlayerSpacing: CGFloat { - let baseline: CGFloat = 550 // Below this, use minimum - let scale: CGFloat = 0.18 // 20% of height above baseline - let minSpacing: CGFloat = 10 // Floor for smallest screens - let maxSpacing: CGFloat = 150 // Ceiling for largest screens - - let calculated = (screenHeight - baseline) * scale - return min(maxSpacing, max(minSpacing, calculated)) - } - var body: some View { - VStack(spacing: Design.Spacing.small) { - // Dealer area + VStack(spacing: 0) { + // Dealer area - pushed to top DealerHandView( hand: state.dealerHand, showHoleCard: state.shouldShowDealerHoleCard, @@ -93,33 +72,23 @@ struct BlackjackTableView: View { ) .debugBorder(showDebugBorders, color: .red, label: "Dealer") - // Space between dealer and player - contains card count if enabled + // Top spacer pushes dealer up + Spacer(minLength: Design.Spacing.small) + .debugBorder(showDebugBorders, color: .yellow, label: "TopSpacer") + + // Card count view centered between dealer and player if showCardCount { - // Card count view fills the space between hands - VStack { - // Top spacer for larger screens - if screenHeight > 700 { - Spacer(minLength: Design.Spacing.small) - } - - CardCountView( - runningCount: state.engine.runningCount, - trueCount: state.engine.trueCount - ) - - // Bottom spacer for larger screens - if screenHeight > 700 { - Spacer(minLength: Design.Spacing.small) - } - } - .frame(minHeight: dealerPlayerSpacing) + CardCountView( + runningCount: state.engine.runningCount, + trueCount: state.engine.trueCount + ) .debugBorder(showDebugBorders, color: .mint, label: "CardCount") - } else { - // No card count - just use flexible spacer - Spacer(minLength: dealerPlayerSpacing) - .debugBorder(showDebugBorders, color: .yellow, label: "Spacer \(Int(dealerPlayerSpacing))") } + // Bottom spacer pushes player down + Spacer(minLength: Design.Spacing.small) + .debugBorder(showDebugBorders, color: .yellow, label: "BottomSpacer") + // Player hands area - only show when there are cards dealt if state.playerHands.first?.cards.isEmpty == false { ZStack { @@ -162,6 +131,33 @@ struct BlackjackTableView: View { .padding(.horizontal, Design.Spacing.small) } } + .overlay { + // Hint toast overlaying player hands (auto-dismisses) + if state.showHintToast, let hint = state.currentHint { + HintView(hint: hint) + .transition(.scale.combined(with: .opacity)) + } + } + .onChange(of: state.currentHint) { oldHint, newHint in + // Show toast when a new hint appears + if let hint = newHint, hint != oldHint { + withAnimation(.spring(duration: Design.Animation.springDuration)) { + state.showHintToast = true + } + // Auto-dismiss after delay + Task { @MainActor in + try? await Task.sleep(for: Design.Toast.duration) + withAnimation(.spring(duration: Design.Animation.springDuration)) { + state.showHintToast = false + } + } + } else if newHint == nil { + // Hide immediately when no hint + withAnimation(.spring(duration: Design.Animation.springDuration)) { + state.showHintToast = false + } + } + } .padding(.bottom, 5) .transition(.opacity) .debugBorder(showDebugBorders, color: .green, label: "Player") @@ -183,22 +179,12 @@ struct BlackjackTableView: View { if let hint = state.bettingHint { BettingHintView(hint: hint, trueCount: state.engine.trueCount) .transition(.opacity) + .padding(.vertical, 10) .debugBorder(showDebugBorders, color: .purple, label: "BetHint") } - } else { - // Fixed-height hint area to prevent layout shifts during player turn - ZStack { - if let hint = state.currentHint { - HintView(hint: hint) - .transition(.opacity) - } - } - .frame(height: hintAreaHeight) - .debugBorder(showDebugBorders, color: .orange, label: "HintArea") } } .padding(.horizontal, Design.Spacing.large) - .padding(.vertical, Design.Spacing.medium) .debugBorder(showDebugBorders, color: .white, label: "TableView") .animation(.spring(duration: Design.Animation.springDuration), value: state.currentPhase) } diff --git a/Blackjack/Blackjack/Views/Table/HintViews.swift b/Blackjack/Blackjack/Views/Table/HintViews.swift index be04dfc..07de347 100644 --- a/Blackjack/Blackjack/Views/Table/HintViews.swift +++ b/Blackjack/Blackjack/Views/Table/HintViews.swift @@ -26,7 +26,7 @@ struct HintView: View { .foregroundStyle(.yellow) Text(String(localized: "Hint: \(hint)")) .font(.system(size: fontSize, weight: .medium)) - .foregroundStyle(.white.opacity(Design.Opacity.strong)) + .foregroundStyle(.white) .lineLimit(1) .minimumScaleFactor(Design.MinScaleFactor.comfortable) } @@ -34,8 +34,13 @@ struct HintView: View { .padding(.vertical, paddingV) .background( Capsule() - .fill(Color.black.opacity(Design.Opacity.light)) + .fill(Color.black.opacity(Design.Opacity.heavy)) + .overlay( + Capsule() + .strokeBorder(Color.yellow.opacity(Design.Opacity.medium), lineWidth: Design.LineWidth.thin) + ) ) + .shadow(color: .black.opacity(Design.Opacity.medium), radius: Design.Shadow.radiusMedium) .accessibilityElement(children: .ignore) .accessibilityLabel(String(localized: "Hint")) .accessibilityValue(hint)