diff --git a/SelfieCam.xcodeproj/project.pbxproj b/SelfieCam.xcodeproj/project.pbxproj index ade3c80..73425ed 100644 --- a/SelfieCam.xcodeproj/project.pbxproj +++ b/SelfieCam.xcodeproj/project.pbxproj @@ -428,6 +428,7 @@ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; + "INFOPLIST_KEY_UILaunchScreen_BackgroundColor" = LaunchBackground; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( @@ -464,6 +465,7 @@ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; + "INFOPLIST_KEY_UILaunchScreen_BackgroundColor" = LaunchBackground; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/SelfieCam/App/SelfieCamApp.swift b/SelfieCam/App/SelfieCamApp.swift index 14220c4..810a130 100644 --- a/SelfieCam/App/SelfieCamApp.swift +++ b/SelfieCam/App/SelfieCamApp.swift @@ -16,7 +16,9 @@ struct SelfieCamApp: App { var body: some Scene { WindowGroup { - ContentView() + AppLaunchView(config: .selfieCam) { + ContentView() + } } } } diff --git a/SelfieCam/Features/Settings/SettingsView.swift b/SelfieCam/Features/Settings/SettingsView.swift index 66b2ae4..077efcf 100644 --- a/SelfieCam/Features/Settings/SettingsView.swift +++ b/SelfieCam/Features/Settings/SettingsView.swift @@ -141,6 +141,14 @@ struct SettingsView: View { acknowledgmentsSection + // MARK: - Debug Section + + #if DEBUG + SettingsSectionHeader(title: "Debug", systemImage: "ant.fill") + + brandingDebugSection + #endif + Spacer(minLength: Design.Spacing.xxxLarge) } .padding(.horizontal, Design.Spacing.large) @@ -752,6 +760,70 @@ struct SettingsView: View { .padding(.top, Design.Spacing.large) .padding(.bottom, Design.Spacing.xSmall) } + + // MARK: - Branding Debug Section + + #if DEBUG + private var brandingDebugSection: some View { + VStack(spacing: Design.Spacing.small) { + // Icon Generator + NavigationLink { + IconGeneratorView(config: .selfieCam, appName: "SelfieCam") + } label: { + HStack { + VStack(alignment: .leading, spacing: Design.Spacing.xxSmall) { + Text("Icon Generator") + .font(.system(size: Design.BaseFontSize.body, weight: .medium)) + .foregroundStyle(.white) + + Text("Generate and save app icon to Files") + .font(.system(size: Design.BaseFontSize.caption)) + .foregroundStyle(.white.opacity(Design.Opacity.medium)) + } + + Spacer() + + Image(systemName: "chevron.right") + .font(.system(size: Design.BaseFontSize.caption)) + .foregroundStyle(.white.opacity(Design.Opacity.medium)) + } + .padding(Design.Spacing.medium) + .background(Color.Surface.primary, in: RoundedRectangle(cornerRadius: Design.CornerRadius.medium)) + } + .buttonStyle(.plain) + + // Branding Preview + NavigationLink { + BrandingPreviewView( + iconConfig: .selfieCam, + launchConfig: .selfieCam, + appName: "SelfieCam" + ) + } label: { + HStack { + VStack(alignment: .leading, spacing: Design.Spacing.xxSmall) { + Text("Branding Preview") + .font(.system(size: Design.BaseFontSize.body, weight: .medium)) + .foregroundStyle(.white) + + Text("Preview app icon and launch screen") + .font(.system(size: Design.BaseFontSize.caption)) + .foregroundStyle(.white.opacity(Design.Opacity.medium)) + } + + Spacer() + + Image(systemName: "chevron.right") + .font(.system(size: Design.BaseFontSize.caption)) + .foregroundStyle(.white.opacity(Design.Opacity.medium)) + } + .padding(Design.Spacing.medium) + .background(Color.Surface.primary, in: RoundedRectangle(cornerRadius: Design.CornerRadius.medium)) + } + .buttonStyle(.plain) + } + } + #endif } diff --git a/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon.png b/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon.png new file mode 100644 index 0000000..c9ff01b Binary files /dev/null and b/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon.png differ diff --git a/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..ce8e776 100644 --- a/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/SelfieCam/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "AppIcon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/SelfieCam/Resources/Assets.xcassets/LaunchBackground.colorset/Contents.json b/SelfieCam/Resources/Assets.xcassets/LaunchBackground.colorset/Contents.json new file mode 100644 index 0000000..82db166 --- /dev/null +++ b/SelfieCam/Resources/Assets.xcassets/LaunchBackground.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.450", + "green" : "0.250", + "red" : "0.850" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SelfieCam/Resources/Localizable.xcstrings b/SelfieCam/Resources/Localizable.xcstrings index b619cf1..5ce4323 100644 --- a/SelfieCam/Resources/Localizable.xcstrings +++ b/SelfieCam/Resources/Localizable.xcstrings @@ -1,3186 +1,3202 @@ { - "sourceLanguage": "en", - "strings": { - "%@": { - "comment": "A button with an icon and label. The argument is the text to display in the button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%@" + "sourceLanguage" : "en", + "strings" : { + "%@" : { + "comment" : "A button with an icon and label. The argument is the text to display in the button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%@" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } } } }, - "%lld": { - "comment": "A text label displaying the currently selected ring light size. The text inside the label is replaced with the actual size value.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld" : { + "comment" : "A text label displaying the currently selected ring light size. The text inside the label is replaced with the actual size value.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } } } }, - "%lld percent": { - "comment": "The accessibility value of the ring light brightness slider, expressed as a percentage.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld por ciento" + "%lld percent" : { + "comment" : "The accessibility value of the ring light brightness slider, expressed as a percentage.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld por ciento" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%lld pour cent" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pour cent" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld pour cent" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pour cent" } } } }, - "%lld points": { - "comment": "The value of the ring size slider, displayed in parentheses.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld puntos" + "%lld points" : { + "comment" : "The value of the ring size slider, displayed in parentheses.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld puntos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%lld points" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld points" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld points" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld points" } } } }, - "%lld%%": { - "comment": "A text label displaying the current brightness setting of the ring light, formatted as a percentage. The argument is the current brightness setting of the ring light, as a decimal between 0.0 and 1.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lld%%" + "%lld%%" : { + "comment" : "A text label displaying the current brightness setting of the ring light, formatted as a percentage. The argument is the current brightness setting of the ring light, as a decimal between 0.0 and 1.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%lld%%" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lld%%" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" } } } }, - "%lldpt": { - "comment": "A label displaying the current ring size, formatted as a number followed by the unit \"pt\".", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "%lldpt" + "%lldpt" : { + "comment" : "A label displaying the current ring size, formatted as a number followed by the unit \"pt\".", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpt" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "%lldpt" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpt" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "%lldpt" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldpt" } } } }, - "3s": { - "comment": "Display name for the \"3 seconds\" timer option.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "3s" + "3s" : { + "comment" : "Display name for the \"3 seconds\" timer option.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "3s" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "3s" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "3s" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "3s" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "3s" } } } }, - "5s": { - "comment": "Description of a timer option when the timer is set to 5 seconds.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "5s" + "5s" : { + "comment" : "Description of a timer option when the timer is set to 5 seconds.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "5s" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "5s" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "5s" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "5s" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "5s" } } } }, - "10%": { - "comment": "A label displayed alongside the left edge of the opacity slider.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "10%" + "10%" : { + "comment" : "A label displayed alongside the left edge of the opacity slider.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "10%" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "10%" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "10%" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "10%" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "10%" } } } }, - "10s": { - "comment": "Description of a timer option when the user selects \"10 seconds\".", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "10s" + "10s" : { + "comment" : "Description of a timer option when the user selects \"10 seconds\".", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "10s" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "10s" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "10s" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "10s" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "10s" } } } }, - "100%": { - "comment": "A label displayed alongside the right edge of the opacity slider.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "100%" + "100%" : { + "comment" : "A label displayed alongside the right edge of the opacity slider.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "100%" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "100%" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "100%" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "100%" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "100%" } } } }, - "Adjusts the brightness of the ring light": { - "comment": "A description of the ring light brightness slider.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ajusta el brillo del aro de luz" + "Adjusts the brightness of the ring light" : { + "comment" : "A description of the ring light brightness slider.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajusta el brillo del aro de luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ajuste la luminosité de l'anneau lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste la luminosité de l'anneau lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ajuste la luminosité de l'anneau lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste la luminosité de l'anneau lumineux" } } } }, - "Adjusts the size of the light ring around the camera preview": { - "comment": "A description of the ring size slider in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ajusta el tamaño del aro de luz alrededor de la vista previa" + "Adjusts the size of the light ring around the camera preview" : { + "comment" : "A description of the ring size slider in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajusta el tamaño del aro de luz alrededor de la vista previa" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ajuste la taille de l'anneau lumineux autour de l'aperçu" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste la taille de l'anneau lumineux autour de l'aperçu" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ajuste la taille de l'anneau lumineux autour de l'aperçu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste la taille de l'anneau lumineux autour de l'aperçu" } } } }, - "Applies light skin smoothing to the camera preview": { - "comment": "A hint for the \"Skin Smoothing\" toggle in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Aplica suavizado ligero de piel a la vista previa" + "Applies light skin smoothing to the camera preview" : { + "comment" : "A hint for the \"Skin Smoothing\" toggle in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplica suavizado ligero de piel a la vista previa" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Applique un lissage léger de la peau à l'aperçu" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applique un lissage léger de la peau à l'aperçu" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Applique un lissage léger de la peau à l'aperçu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applique un lissage léger de la peau à l'aperçu" } } } }, - "Applies subtle real-time skin smoothing": { - "comment": "Accessibility hint for the \"Skin Smoothing\" toggle in the Settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Aplica suavizado sutil de piel en tiempo real" + "Applies subtle real-time skin smoothing" : { + "comment" : "Accessibility hint for the \"Skin Smoothing\" toggle in the Settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplica suavizado sutil de piel en tiempo real" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Applique un lissage subtil de la peau en temps réel" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applique un lissage subtil de la peau en temps réel" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Applique un lissage subtil de la peau en temps réel" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applique un lissage subtil de la peau en temps réel" } } } }, - "Auto-Save": { - "comment": "Title of a toggle that enables automatic saving of captured photos and videos to the user's Photo Library.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Guardado Automático" + "Auto-Save" : { + "comment" : "Title of a toggle that enables automatic saving of captured photos and videos to the user's Photo Library.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardado Automático" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sauvegarde Auto" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sauvegarde Auto" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sauvegarde Auto" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sauvegarde Auto" } } } }, - "Automatically adjusts camera to keep subject centered": { - "comment": "A hint that describes the functionality of the \"Enable Center Stage\" toggle.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ajusta automáticamente la cámara para mantener al sujeto centrado" + "Automatically adjusts camera to keep subject centered" : { + "comment" : "A hint that describes the functionality of the \"Enable Center Stage\" toggle.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajusta automáticamente la cámara para mantener al sujeto centrado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ajuste automatiquement la caméra pour garder le sujet centré" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste automatiquement la caméra pour garder le sujet centré" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ajuste automatiquement la caméra pour garder le sujet centré" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste automatiquement la caméra pour garder le sujet centré" } } } }, - "Automatically keeps you centered in the frame": { - "comment": "A description of the Center Stage feature.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Te mantiene centrado en el encuadre automáticamente" + "Automatically keeps you centered in the frame" : { + "comment" : "A description of the Center Stage feature.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Te mantiene centrado en el encuadre automáticamente" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Vous garde automatiquement centré dans le cadre" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous garde automatiquement centré dans le cadre" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vous garde automatiquement centré dans le cadre" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous garde automatiquement centré dans le cadre" } } } }, - "Automatically save captures to Photo Library": { - "comment": "A toggle option in the Settings view that allows the user to enable or disable automatic saving of captured photos and videos to the user's Photo Library.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Guardar capturas automáticamente en la Fototeca" + "Automatically save captures to Photo Library" : { + "comment" : "A toggle option in the Settings view that allows the user to enable or disable automatic saving of captured photos and videos to the user's Photo Library.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardar capturas automáticamente en la Fototeca" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Enregistrer automatiquement les captures dans la Photothèque" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer automatiquement les captures dans la Photothèque" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Enregistrer automatiquement les captures dans la Photothèque" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer automatiquement les captures dans la Photothèque" } } } }, - "Back": { - "comment": "Option in the camera position picker for using the back camera.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Trasera" + "Back" : { + "comment" : "Option in the camera position picker for using the back camera.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trasera" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Arrière" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arrière" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Arrière" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arrière" } } } }, - "Best Value • Save 33%": { - "comment": "A promotional text displayed below an annual subscription package, highlighting its value.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mejor Valor • Ahorra 33%" + "Best Value • Save 33%" : { + "comment" : "A promotional text displayed below an annual subscription package, highlighting its value.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mejor Valor • Ahorra 33%" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Meilleure Valeur • Économisez 33%" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meilleure Valeur • Économisez 33%" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Meilleure Valeur • Économisez 33%" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meilleure Valeur • Économisez 33%" } } } }, - "Boomerang": { - "comment": "Display name for the \"Boomerang\" capture mode.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Boomerang" + "Boomerang" : { + "comment" : "Display name for the \"Boomerang\" capture mode.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boomerang" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Boomerang" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boomerang" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Boomerang" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boomerang" } } } }, - "Camera": { - "comment": "Options for the camera position picker.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cámara" + "Branding Preview" : { + "comment" : "A link that takes the user to a view that previews the app's icon and launch screen.", + "isCommentAutoGenerated" : true + }, + "Camera" : { + "comment" : "Options for the camera position picker.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cámara" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Caméra" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Caméra" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Caméra" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Caméra" } } } }, - "Camera controls": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Controles de cámara" + "Camera controls" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controles de cámara" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Contrôles de caméra" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôles de caméra" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Contrôles de caméra" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôles de caméra" } } } }, - "Camera Controls": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Controles de Cámara" + "Camera Controls" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controles de Cámara" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Contrôles de Caméra" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôles de Caméra" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Contrôles de Caméra" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôles de Caméra" } } } }, - "Cancel": { - "comment": "The text for a button that dismisses the current view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cancelar" + "Cancel" : { + "comment" : "The text for a button that dismisses the current view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Annuler" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Annuler" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" } } } }, - "Captured photo": { - "comment": "A label describing a captured photo.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Foto capturada" + "Captured photo" : { + "comment" : "A label describing a captured photo.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Foto capturada" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Photo capturée" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo capturée" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Photo capturée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo capturée" } } } }, - "Captured video": { - "comment": "A label describing a captured video.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Video capturado" + "Captured video" : { + "comment" : "A label describing a captured video.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video capturado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Vidéo capturée" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéo capturée" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vidéo capturée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéo capturée" } } } }, - "Center Stage": { - "comment": "A label for the \"Center Stage\" button in the zoom control view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Encuadre Centrado" + "Center Stage" : { + "comment" : "A label for the \"Center Stage\" button in the zoom control view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Encuadre Centrado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Centré" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Centré" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Centré" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Centré" } } } }, - "Center Stage active": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Encuadre Centrado activo" + "Center Stage active" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Encuadre Centrado activo" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Centré actif" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Centré actif" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Centré actif" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Centré actif" } } } }, - "Center Stage Auto-Framing": { - "comment": "Benefit of the \"Go Pro\" premium package: Automatic centering of the subject in the photo.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Encuadre Automático Center Stage" + "Center Stage Auto-Framing" : { + "comment" : "Benefit of the \"Go Pro\" premium package: Automatic centering of the subject in the photo.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Encuadre Automático Center Stage" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Automatique Center Stage" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Automatique Center Stage" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Cadrage Automatique Center Stage" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cadrage Automatique Center Stage" } } } }, - "Choose between front and back camera lenses": { - "comment": "A description of the camera position picker.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Elige entre cámara frontal y trasera" + "Choose between front and back camera lenses" : { + "comment" : "A description of the camera position picker.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elige entre cámara frontal y trasera" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Choisissez entre caméra frontale et arrière" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choisissez entre caméra frontale et arrière" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Choisissez entre caméra frontale et arrière" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choisissez entre caméra frontale et arrière" } } } }, - "Close preview": { - "comment": "A button label that closes the preview screen.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cerrar vista previa" + "Close preview" : { + "comment" : "A button label that closes the preview screen.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar vista previa" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Fermer l'aperçu" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer l'aperçu" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Fermer l'aperçu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer l'aperçu" } } } }, - "Controls automatic flash behavior for photos": { - "comment": "A description below the flash mode picker, explaining its purpose.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Controla el comportamiento automático del flash para fotos" + "Controls automatic flash behavior for photos" : { + "comment" : "A description below the flash mode picker, explaining its purpose.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controla el comportamiento automático del flash para fotos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Contrôle le comportement automatique du flash pour les photos" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôle le comportement automatique du flash pour les photos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Contrôle le comportement automatique du flash pour les photos" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contrôle le comportement automatique du flash pour les photos" } } } }, - "Cool Lavender": { - "comment": "Name of a ring light color preset.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Lavanda Fresco" + "Cool Lavender" : { + "comment" : "Name of a ring light color preset.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lavanda Fresco" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Lavande Fraîche" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lavande Fraîche" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Lavande Fraîche" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lavande Fraîche" } } } }, - "Custom": { - "comment": "A label displayed below the rainbow gradient circle in the custom color button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Personalizado" + "Custom" : { + "comment" : "A label displayed below the rainbow gradient circle in the custom color button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Personnalisé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personnalisé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Personnalisé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personnalisé" } } } }, - "Custom color": { - "comment": "An accessibility label for the custom color button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color personalizado" + "Custom color" : { + "comment" : "An accessibility label for the custom color button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color personalizado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur personnalisée" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur personnalisée" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur personnalisée" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur personnalisée" } } } }, - "Debug mode: Purchase simulated!": { - "comment": "Announcement posted to VoiceOver when a premium purchase is simulated in debug mode.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo de depuración: ¡Compra simulada!" + "Debug mode: Purchase simulated!" : { + "comment" : "Announcement posted to VoiceOver when a premium purchase is simulated in debug mode.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo de depuración: ¡Compra simulada!" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode débogage : Achat simulé !" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode débogage : Achat simulé !" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode débogage : Achat simulé !" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode débogage : Achat simulé !" } } } }, - "Debug mode: Restore simulated!": { - "comment": "Accessibility announcement when restoring purchases in debug mode.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo de depuración: ¡Restauración simulada!" + "Debug mode: Restore simulated!" : { + "comment" : "Accessibility announcement when restoring purchases in debug mode.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo de depuración: ¡Restauración simulada!" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode débogage : Restauration simulée !" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode débogage : Restauration simulée !" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode débogage : Restauration simulée !" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode débogage : Restauration simulée !" } } } }, - "Delay before photo capture for self-portraits": { - "comment": "A description of the purpose of the \"Self-Timer\" setting in the settings screen.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Retraso antes de capturar para autorretratos" + "Delay before photo capture for self-portraits" : { + "comment" : "A description of the purpose of the \"Self-Timer\" setting in the settings screen.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retraso antes de capturar para autorretratos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Délai avant la capture pour les autoportraits" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Délai avant la capture pour les autoportraits" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Délai avant la capture pour les autoportraits" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Délai avant la capture pour les autoportraits" } } } }, - "Done": { - "comment": "The text for a button that dismisses a view. In this case, it dismisses the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Listo" + "Done" : { + "comment" : "The text for a button that dismisses a view. In this case, it dismisses the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Listo" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Terminé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Terminé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminé" } } } }, - "Double tap to capture a photo": { - "comment": "An accessibility hint for the capture button, instructing the user to double-tap it to capture a photo.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Toca dos veces para capturar una foto" + "Double tap to capture a photo" : { + "comment" : "An accessibility hint for the capture button, instructing the user to double-tap it to capture a photo.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toca dos veces para capturar una foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Appuyez deux fois pour capturer une photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez deux fois pour capturer une photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Appuyez deux fois pour capturer une photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez deux fois pour capturer une photo" } } } }, - "Enable Center Stage": { - "comment": "An accessibility label for the toggle that enables the \"Center Stage\" feature.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activar Encuadre Centrado" + "Enable Center Stage" : { + "comment" : "An accessibility label for the toggle that enables the \"Center Stage\" feature.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activar Encuadre Centrado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Activer Cadrage Centré" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer Cadrage Centré" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activer Cadrage Centré" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer Cadrage Centré" } } } }, - "Enable Ring Light": { - "comment": "Title of a toggle in the Settings view that allows the user to enable or disable the ring light overlay.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activar Aro de Luz" + "Enable Ring Light" : { + "comment" : "Title of a toggle in the Settings view that allows the user to enable or disable the ring light overlay.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activar Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Activer Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activer Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer Anneau Lumineux" } } } }, - "Enables or disables the ring light overlay": { - "comment": "A toggle that enables or disables the ring light overlay.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activa o desactiva el aro de luz" + "Enables or disables the ring light overlay" : { + "comment" : "A toggle that enables or disables the ring light overlay.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activa o desactiva el aro de luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Active ou désactive l'anneau lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Active ou désactive l'anneau lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Active ou désactive l'anneau lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Active ou désactive l'anneau lumineux" } } } }, - "Extended Self-Timers (5s, 10s)": { - "comment": "Benefit description for the extended self-timers option.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Temporizadores Extendidos (5s, 10s)" + "Extended Self-Timers (5s, 10s)" : { + "comment" : "Benefit description for the extended self-timers option.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Temporizadores Extendidos (5s, 10s)" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Retardateurs Étendus (5s, 10s)" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retardateurs Étendus (5s, 10s)" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Retardateurs Étendus (5s, 10s)" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retardateurs Étendus (5s, 10s)" } } } }, - "File size and image quality for saved photos": { - "comment": "A description of the photo quality setting.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tamaño de archivo y calidad de imagen para fotos guardadas" + "File size and image quality for saved photos" : { + "comment" : "A description of the photo quality setting.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamaño de archivo y calidad de imagen para fotos guardadas" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Taille de fichier et qualité d'image pour les photos enregistrées" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de fichier et qualité d'image pour les photos enregistrées" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Taille de fichier et qualité d'image pour les photos enregistrées" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de fichier et qualité d'image pour les photos enregistrées" } } } }, - "Flash Mode": { - "comment": "Title of a segmented picker that allows the user to select the flash mode of the camera.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo de Flash" + "Flash Mode" : { + "comment" : "Title of a segmented picker that allows the user to select the flash mode of the camera.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo de Flash" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode Flash" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode Flash" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode Flash" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode Flash" } } } }, - "Flash Sync": { - "comment": "Title of a toggle that synchronizes the flash color with the ring light color.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizar Flash" + "Flash Sync" : { + "comment" : "Title of a toggle that synchronizes the flash color with the ring light color.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizar Flash" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser Flash" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser Flash" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser Flash" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser Flash" } } } }, - "Flash Sync with Ring Light": { - "comment": "Benefit description for the \"Flash Sync with Ring Light\" feature.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronización de Flash con Aro de Luz" + "Flash Sync with Ring Light" : { + "comment" : "Benefit description for the \"Flash Sync with Ring Light\" feature.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronización de Flash con Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation du Flash avec l'Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation du Flash avec l'Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation du Flash avec l'Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation du Flash avec l'Anneau Lumineux" } } } }, - "Flips the camera preview horizontally": { - "comment": "An accessibility hint for the \"True Mirror\" setting.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Voltea la vista previa horizontalmente" + "Flips the camera preview horizontally" : { + "comment" : "An accessibility hint for the \"True Mirror\" setting.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voltea la vista previa horizontalmente" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Retourne l'aperçu horizontalement" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retourne l'aperçu horizontalement" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Retourne l'aperçu horizontalement" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retourne l'aperçu horizontalement" } } } }, - "Front": { - "comment": "Option in the camera position picker for using the front camera.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Frontal" + "Front" : { + "comment" : "Option in the camera position picker for using the front camera.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Frontal" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Frontale" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Frontale" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Frontale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Frontale" } } } }, - "Front Flash": { - "comment": "Title of a toggle in the Settings view that controls whether the front flash is enabled.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Flash Frontal" + "Front Flash" : { + "comment" : "Title of a toggle in the Settings view that controls whether the front flash is enabled.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Flash Frontal" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Flash Frontal" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Flash Frontal" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Flash Frontal" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Flash Frontal" } } } }, - "Get ready!": { - "comment": "A text displayed in the countdown overlay when a photo is about to be taken.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡Prepárate!" + "Generate and save app icon to Files" : { + "comment" : "A description of the feature that generates and saves an app icon to the user's Files folder.", + "isCommentAutoGenerated" : true + }, + "Get ready!" : { + "comment" : "A text displayed in the countdown overlay when a photo is about to be taken.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Prepárate!" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Préparez-vous !" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préparez-vous !" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Préparez-vous !" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préparez-vous !" } } } }, - "Go Pro": { - "comment": "The title of the \"Go Pro\" button in the Pro paywall.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Hazte Pro" + "Go Pro" : { + "comment" : "The title of the \"Go Pro\" button in the Pro paywall.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hazte Pro" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Passer Pro" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer Pro" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Passer Pro" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer Pro" } } } }, - "Grid Overlay": { - "comment": "Text displayed in a settings toggle for showing a grid overlay to help compose your shot.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cuadrícula" + "Grid Overlay" : { + "comment" : "Text displayed in a settings toggle for showing a grid overlay to help compose your shot.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuadrícula" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Grille" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Grille" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Grille" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Grille" } } } }, - "HDR Mode": { - "comment": "Title for a picker that allows the user to select the HDR mode of the camera.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo HDR" + "HDR Mode" : { + "comment" : "Title for a picker that allows the user to select the HDR mode of the camera.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo HDR" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode HDR" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode HDR" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode HDR" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode HDR" } } } }, - "HDR Mode for Better Photos": { - "comment": "Benefit description for the \"HDR Mode for Better Photos\" benefit.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo HDR para Mejores Fotos" + "HDR Mode for Better Photos" : { + "comment" : "Benefit description for the \"HDR Mode for Better Photos\" benefit.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo HDR para Mejores Fotos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode HDR pour de Meilleures Photos" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode HDR pour de Meilleures Photos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode HDR pour de Meilleures Photos" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode HDR pour de Meilleures Photos" } } } }, - "Hide preview during capture for flash effect": { - "comment": "Text displayed in a toggle within the \"Camera Controls\" section, allowing the user to enable or disable the feature of hiding the camera preview during a photo capture to simulate a flash effect.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ocultar vista previa durante captura para efecto de flash" + "Hide preview during capture for flash effect" : { + "comment" : "Text displayed in a toggle within the \"Camera Controls\" section, allowing the user to enable or disable the feature of hiding the camera preview during a photo capture to simulate a flash effect.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ocultar vista previa durante captura para efecto de flash" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Masquer l'aperçu pendant la capture pour l'effet flash" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Masquer l'aperçu pendant la capture pour l'effet flash" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Masquer l'aperçu pendant la capture pour l'effet flash" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Masquer l'aperçu pendant la capture pour l'effet flash" } } } }, - "High Dynamic Range for better lighting in photos": { - "comment": "A description of the High Dynamic Range (HDR) mode in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Alto Rango Dinámico para mejor iluminación en fotos" + "High Dynamic Range for better lighting in photos" : { + "comment" : "A description of the High Dynamic Range (HDR) mode in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alto Rango Dinámico para mejor iluminación en fotos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Haute Gamme Dynamique pour un meilleur éclairage des photos" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haute Gamme Dynamique pour un meilleur éclairage des photos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Haute Gamme Dynamique pour un meilleur éclairage des photos" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haute Gamme Dynamique pour un meilleur éclairage des photos" } } } }, - "High Quality Photo Export": { - "comment": "Description of a benefit that is included with the Premium membership.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Exportación de Fotos en Alta Calidad" + "High Quality Photo Export" : { + "comment" : "Description of a benefit that is included with the Premium membership.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportación de Fotos en Alta Calidad" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Exportation de Photos en Haute Qualité" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportation de Photos en Haute Qualité" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Exportation de Photos en Haute Qualité" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportation de Photos en Haute Qualité" } } } }, - "Ice Blue": { - "comment": "Name of a ring light color preset.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Azul Hielo" + "Ice Blue" : { + "comment" : "Name of a ring light color preset.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Azul Hielo" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Bleu Glacé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bleu Glacé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Bleu Glacé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bleu Glacé" } } } }, - "iCloud Sync": { - "comment": "Title of the section that allows users to enable or disable iCloud sync of their photos and videos.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronización iCloud" + "iCloud Sync" : { + "comment" : "Title of the section that allows users to enable or disable iCloud sync of their photos and videos.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronización iCloud" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation iCloud" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation iCloud" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation iCloud" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation iCloud" } } } }, - "Last synced %@": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Última sincronización %@" + "Icon Generator" : { + "comment" : "A label for the icon generator feature in the settings view.", + "isCommentAutoGenerated" : true + }, + "Last synced %@" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última sincronización %@" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Dernière synchronisation %@" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dernière synchronisation %@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Dernière synchronisation %@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dernière synchronisation %@" } } } }, - "Light Color": { - "comment": "A label displayed above a section of the settings view related to light colors.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color de Luz" + "Light Color" : { + "comment" : "A label displayed above a section of the settings view related to light colors.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur de Lumière" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur de Lumière" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur de Lumière" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur de Lumière" } } } }, - "Locked. Tap to unlock with Pro.": { - "comment": "A hint that appears when a user taps on a color preset button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Bloqueado. Toca para desbloquear con Pro." + "Locked. Tap to unlock with Pro." : { + "comment" : "A hint that appears when a user taps on a color preset button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bloqueado. Toca para desbloquear con Pro." } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Verrouillé. Appuyez pour déverrouiller avec Pro." + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verrouillé. Appuyez pour déverrouiller avec Pro." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Verrouillé. Appuyez pour déverrouiller avec Pro." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verrouillé. Appuyez pour déverrouiller avec Pro." } } } }, - "Off": { - "comment": "The accessibility value for the grid toggle when it is off.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Desactivado" + "Off" : { + "comment" : "The accessibility value for the grid toggle when it is off.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desactivado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Désactivé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactivé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Désactivé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactivé" } } } }, - "On": { - "comment": "A value that describes a control item as \"On\".", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Activado" + "On" : { + "comment" : "A value that describes a control item as \"On\".", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Activé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Activé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activé" } } } }, - "Open Source Licenses": { - "comment": "A heading displayed above a list of open source licenses used in the app.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Licencias de Código Abierto" + "Open Source Licenses" : { + "comment" : "A heading displayed above a list of open source licenses used in the app.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Licencias de Código Abierto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Licences Open Source" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Licences Open Source" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Licences Open Source" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Licences Open Source" } } } }, - "Opens upgrade options": { - "comment": "An accessibility hint for the \"Upgrade to Pro\" button that indicates it opens upgrade options.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Abre opciones de mejora" + "Opens upgrade options" : { + "comment" : "An accessibility hint for the \"Upgrade to Pro\" button that indicates it opens upgrade options.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abre opciones de mejora" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ouvre les options de mise à niveau" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvre les options de mise à niveau" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ouvre les options de mise à niveau" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvre les options de mise à niveau" } } } }, - "Photo": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Foto" + "Photo" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo" } } } }, - "Photo Quality": { - "comment": "Title of a segmented picker that allows the user to select the photo quality.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Calidad de Foto" + "Photo Quality" : { + "comment" : "Title of a segmented picker that allows the user to select the photo quality.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Calidad de Foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Qualité Photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Qualité Photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Qualité Photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Qualité Photo" } } } }, - "Photo review": { - "comment": "The title of the view that lets users review and save or share a photo.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Revisar foto" + "Photo review" : { + "comment" : "The title of the view that lets users review and save or share a photo.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revisar foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Aperçu photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aperçu photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Aperçu photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aperçu photo" } } } }, - "Premium color": { - "comment": "An accessibility hint for a premium color option in the color preset button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color premium" + "Premium color" : { + "comment" : "An accessibility hint for a premium color option in the color preset button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color premium" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur premium" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur premium" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur premium" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur premium" } } } }, - "Premium Colors + Custom Color Picker": { - "comment": "Benefit description for the \"Premium Colors + Custom Color Picker\" benefit.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Colores Premium + Selector de Color Personalizado" + "Premium Colors + Custom Color Picker" : { + "comment" : "Benefit description for the \"Premium Colors + Custom Color Picker\" benefit.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Colores Premium + Selector de Color Personalizado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleurs Premium + Sélecteur de Couleur Personnalisé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleurs Premium + Sélecteur de Couleur Personnalisé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleurs Premium + Sélecteur de Couleur Personnalisé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleurs Premium + Sélecteur de Couleur Personnalisé" } } } }, - "Premium colors, HDR, timers & more": { - "comment": "A description of the additional features available in the Pro version of the app.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Colores premium, HDR, temporizadores y más" + "Premium colors, HDR, timers & more" : { + "comment" : "A description of the additional features available in the Pro version of the app.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Colores premium, HDR, temporizadores y más" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleurs premium, HDR, retardateurs et plus" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleurs premium, HDR, retardateurs et plus" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleurs premium, HDR, retardateurs et plus" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleurs premium, HDR, retardateurs et plus" } } } }, - "Purchase successful! Pro features unlocked.": { - "comment": "Announcement read out to the user when a premium purchase is successful.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "¡Compra exitosa! Funciones Pro desbloqueadas." + "Preview app icon and launch screen" : { + "comment" : "A description of the Branding Preview feature.", + "isCommentAutoGenerated" : true + }, + "Purchase successful! Pro features unlocked." : { + "comment" : "Announcement read out to the user when a premium purchase is successful.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Compra exitosa! Funciones Pro desbloqueadas." } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Achat réussi ! Fonctionnalités Pro déverrouillées." + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achat réussi ! Fonctionnalités Pro déverrouillées." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Achat réussi ! Fonctionnalités Pro déverrouillées." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achat réussi ! Fonctionnalités Pro déverrouillées." } } } }, - "Purchases restored": { - "comment": "Announcement read out to the user when purchases are restored.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Compras restauradas" + "Purchases restored" : { + "comment" : "Announcement read out to the user when purchases are restored.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compras restauradas" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Achats restaurés" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achats restaurés" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Achats restaurés" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achats restaurés" } } } }, - "Pure White": { - "comment": "A color preset option for the ring light that displays as pure white.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Blanco Puro" + "Pure White" : { + "comment" : "A color preset option for the ring light that displays as pure white.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blanco Puro" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Blanc Pur" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blanc Pur" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Blanc Pur" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blanc Pur" } } } }, - "Restore Purchases": { - "comment": "A button that restores purchases.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Restaurar Compras" + "Restore Purchases" : { + "comment" : "A button that restores purchases.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restaurar Compras" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Restaurer les Achats" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restaurer les Achats" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Restaurer les Achats" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restaurer les Achats" } } } }, - "Retake": { - "comment": "Title for a button that allows the user to retake a captured photo or video.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Repetir" + "Retake" : { + "comment" : "Title for a button that allows the user to retake a captured photo or video.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Repetir" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Reprendre" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reprendre" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Reprendre" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reprendre" } } } }, - "Ring Light": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Aro de Luz" + "Ring Light" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anneau Lumineux" } } } }, - "Ring light brightness": { - "comment": "An accessibility label for the ring light brightness setting in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Brillo del aro de luz" + "Ring light brightness" : { + "comment" : "An accessibility label for the ring light brightness setting in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brillo del aro de luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Luminosité de l'anneau lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luminosité de l'anneau lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Luminosité de l'anneau lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luminosité de l'anneau lumineux" } } } }, - "Ring Light Brightness": { - "comment": "The title of the overlay that appears when the user taps the ring light button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Brillo del Aro de Luz" + "Ring Light Brightness" : { + "comment" : "The title of the overlay that appears when the user taps the ring light button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brillo del Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Luminosité de l'Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luminosité de l'Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Luminosité de l'Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luminosité de l'Anneau Lumineux" } } } }, - "Ring Light Color": { - "comment": "The title of the color picker overlay.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Color del Aro de Luz" + "Ring Light Color" : { + "comment" : "The title of the color picker overlay.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color del Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur de l'Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur de l'Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Couleur de l'Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur de l'Anneau Lumineux" } } } }, - "Ring Light Size": { - "comment": "The title of the slider that allows the user to select the size of their ring light.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tamaño del Aro de Luz" + "Ring Light Size" : { + "comment" : "The title of the slider that allows the user to select the size of their ring light.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamaño del Aro de Luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'Anneau Lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'Anneau Lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'Anneau Lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'Anneau Lumineux" } } } }, - "Ring size": { - "comment": "An accessibility label for the ring size slider in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tamaño del aro" + "Ring size" : { + "comment" : "An accessibility label for the ring size slider in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamaño del aro" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'anneau" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'anneau" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'anneau" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'anneau" } } } }, - "Ring Size": { - "comment": "The label for the ring size slider in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tamaño del Aro" + "Ring Size" : { + "comment" : "The label for the ring size slider in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamaño del Aro" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'Anneau" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'Anneau" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Taille de l'Anneau" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taille de l'Anneau" } } } }, - "Save": { - "comment": "Title for a button that saves the currently captured photo or video to the user's photo library.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Guardar" + "Save" : { + "comment" : "Title for a button that saves the currently captured photo or video to the user's photo library.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardar" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Enregistrer" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Enregistrer" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer" } } } }, - "Saved to Photos": { - "comment": "Text shown as a toast message when a photo is successfully saved to Photos.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Guardado en Fotos" + "Saved to Photos" : { + "comment" : "Text shown as a toast message when a photo is successfully saved to Photos.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardado en Fotos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Enregistré dans Photos" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistré dans Photos" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Enregistré dans Photos" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistré dans Photos" } } } }, - "Saving...": { - "comment": "A text that appears while a photo is being saved.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Guardando..." + "Saving..." : { + "comment" : "A text that appears while a photo is being saved.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardando..." } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Enregistrement..." + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrement..." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Enregistrement..." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrement..." } } } }, - "Select camera position": { - "comment": "A label describing the action of selecting a camera position.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seleccionar posición de cámara" + "Select camera position" : { + "comment" : "A label describing the action of selecting a camera position.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar posición de cámara" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la position de la caméra" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la position de la caméra" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la position de la caméra" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la position de la caméra" } } } }, - "Select flash mode": { - "comment": "An accessibility label for the flash mode picker in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seleccionar modo de flash" + "Select flash mode" : { + "comment" : "An accessibility label for the flash mode picker in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar modo de flash" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner le mode flash" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner le mode flash" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner le mode flash" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner le mode flash" } } } }, - "Select HDR mode": { - "comment": "A label describing the action of selecting an HDR mode in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seleccionar modo HDR" + "Select HDR mode" : { + "comment" : "A label describing the action of selecting an HDR mode in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar modo HDR" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner le mode HDR" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner le mode HDR" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner le mode HDR" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner le mode HDR" } } } }, - "Select photo quality": { - "comment": "A label describing a segmented picker for selecting photo quality.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seleccionar calidad de foto" + "Select photo quality" : { + "comment" : "A label describing a segmented picker for selecting photo quality.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar calidad de foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la qualité photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la qualité photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la qualité photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la qualité photo" } } } }, - "Select self-timer duration": { - "comment": "A label describing the segmented control for selecting the duration of the self-timer.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Seleccionar duración del temporizador" + "Select self-timer duration" : { + "comment" : "A label describing the segmented control for selecting the duration of the self-timer.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar duración del temporizador" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la durée du retardateur" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la durée du retardateur" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Sélectionner la durée du retardateur" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner la durée du retardateur" } } } }, - "Self-Timer": { - "comment": "Title of the section in the settings view that allows the user to select the duration of the self-timer.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Temporizador" + "Self-Timer" : { + "comment" : "Title of the section in the settings view that allows the user to select the duration of the self-timer.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Temporizador" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Retardateur" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retardateur" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Retardateur" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retardateur" } } } }, - "Settings": { - "comment": "The title of the settings screen.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Configuración" + "Settings" : { + "comment" : "The title of the settings screen.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuración" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Réglages" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réglages" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Réglages" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réglages" } } } }, - "Share": { - "comment": "Title for a button that shares the captured media.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Compartir" + "Share" : { + "comment" : "Title for a button that shares the captured media.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartir" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Partager" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partager" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Partager" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partager" } } } }, - "Show colored light ring around camera preview": { - "comment": "Subtitle for the \"Enable Ring Light\" toggle in the Settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mostrar aro de luz de color alrededor de la vista previa" + "Show colored light ring around camera preview" : { + "comment" : "Subtitle for the \"Enable Ring Light\" toggle in the Settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar aro de luz de color alrededor de la vista previa" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Afficher l'anneau lumineux coloré autour de l'aperçu" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher l'anneau lumineux coloré autour de l'aperçu" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Afficher l'anneau lumineux coloré autour de l'aperçu" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher l'anneau lumineux coloré autour de l'aperçu" } } } }, - "Shows a grid overlay to help compose your shot": { - "comment": "A toggle that enables or disables the rule of thirds grid overlay in the camera view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Muestra una cuadrícula para ayudar a componer tu foto" + "Shows a grid overlay to help compose your shot" : { + "comment" : "A toggle that enables or disables the rule of thirds grid overlay in the camera view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muestra una cuadrícula para ayudar a componer tu foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Affiche une grille pour vous aider à composer votre photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche une grille pour vous aider à composer votre photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Affiche une grille pour vous aider à composer votre photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche une grille pour vous aider à composer votre photo" } } } }, - "Shows horizontally flipped preview like a real mirror": { - "comment": "Description of a setting that flips the camera preview horizontally.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Muestra vista previa volteada horizontalmente como un espejo real" + "Shows horizontally flipped preview like a real mirror" : { + "comment" : "Description of a setting that flips the camera preview horizontally.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muestra vista previa volteada horizontalmente como un espejo real" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Affiche un aperçu inversé horizontalement comme un vrai miroir" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche un aperçu inversé horizontalement comme un vrai miroir" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Affiche un aperçu inversé horizontalement comme un vrai miroir" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche un aperçu inversé horizontalement comme un vrai miroir" } } } }, - "Shows rule of thirds grid for composition": { - "comment": "A toggle that enables or disables the display of a rule of thirds grid on the camera preview.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Muestra cuadrícula de tercios para composición" + "Shows rule of thirds grid for composition" : { + "comment" : "A toggle that enables or disables the display of a rule of thirds grid on the camera preview.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muestra cuadrícula de tercios para composición" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Affiche une grille de règle des tiers pour la composition" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche une grille de règle des tiers pour la composition" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Affiche une grille de règle des tiers pour la composition" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche une grille de règle des tiers pour la composition" } } } }, - "Sign in to iCloud to enable sync": { - "comment": "Subtitle of the iCloud sync section when the user is not signed into iCloud.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Inicia sesión en iCloud para activar la sincronización" + "Sign in to iCloud to enable sync" : { + "comment" : "Subtitle of the iCloud sync section when the user is not signed into iCloud.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inicia sesión en iCloud para activar la sincronización" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Connectez-vous à iCloud pour activer la synchronisation" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connectez-vous à iCloud pour activer la synchronisation" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Connectez-vous à iCloud pour activer la synchronisation" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connectez-vous à iCloud pour activer la synchronisation" } } } }, - "Skin Smoothing": { - "comment": "A toggle that enables or disables real-time skin smoothing.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Suavizado de Piel" + "Skin Smoothing" : { + "comment" : "A toggle that enables or disables real-time skin smoothing.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suavizado de Piel" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Lissage de Peau" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lissage de Peau" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Lissage de Peau" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lissage de Peau" } } } }, - "Skin Smoothing Beauty Filter": { - "comment": "Text for a benefit row in the ProPaywallView, describing a feature that is included with the Premium membership.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Filtro de Belleza con Suavizado de Piel" + "Skin Smoothing Beauty Filter" : { + "comment" : "Text for a benefit row in the ProPaywallView, describing a feature that is included with the Premium membership.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Filtro de Belleza con Suavizado de Piel" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Filtre Beauté avec Lissage de Peau" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Filtre Beauté avec Lissage de Peau" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Filtre Beauté avec Lissage de Peau" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Filtre Beauté avec Lissage de Peau" } } } }, - "Soft Pink": { - "comment": "Name of a ring light color preset.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Rosa Suave" + "Soft Pink" : { + "comment" : "Name of a ring light color preset.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rosa Suave" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Rose Doux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rose Doux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Rose Doux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rose Doux" } } } }, - "Subscribe to %@ for %@": { - "comment": "A button that triggers a purchase of a premium content package. The label text is generated based on the package's title and price.", - "isCommentAutoGenerated": true, - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Subscribe to %1$@ for %2$@" + "Subscribe to %@ for %@" : { + "comment" : "A button that triggers a purchase of a premium content package. The label text is generated based on the package's title and price.", + "isCommentAutoGenerated" : true, + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Subscribe to %1$@ for %2$@" } }, - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Suscribirse a %1$@ por %2$@" + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suscribirse a %1$@ por %2$@" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "S'abonner à %1$@ pour %2$@" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "S'abonner à %1$@ pour %2$@" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "S'abonner à %1$@ pour %2$@" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "S'abonner à %1$@ pour %2$@" } } } }, - "Sync Now": { - "comment": "A button label that triggers a sync action.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizar Ahora" + "Sync Now" : { + "comment" : "A button label that triggers a sync action.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizar Ahora" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser Maintenant" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser Maintenant" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser Maintenant" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser Maintenant" } } } }, - "Sync Settings": { - "comment": "Title of a toggle that allows the user to enable or disable iCloud sync settings.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizar Configuración" + "Sync Settings" : { + "comment" : "Title of a toggle that allows the user to enable or disable iCloud sync settings.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizar Configuración" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser les Réglages" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser les Réglages" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchroniser les Réglages" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchroniser les Réglages" } } } }, - "Sync settings across all your devices": { - "comment": "Subtitle of the \"Sync Settings\" toggle in the Settings view, describing the functionality when sync is enabled.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincroniza la configuración en todos tus dispositivos" + "Sync settings across all your devices" : { + "comment" : "Subtitle of the \"Sync Settings\" toggle in the Settings view, describing the functionality when sync is enabled.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincroniza la configuración en todos tus dispositivos" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronisez les réglages sur tous vos appareils" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisez les réglages sur tous vos appareils" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisez les réglages sur tous vos appareils" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisez les réglages sur tous vos appareils" } } } }, - "Synced": { - "comment": "Text displayed in the iCloud sync section when the user's settings have been successfully synced.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizado" + "Synced" : { + "comment" : "Text displayed in the iCloud sync section when the user's settings have been successfully synced.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizado" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronisé" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisé" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisé" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisé" } } } }, - "Syncing...": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincronizando..." + "Syncing..." : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincronizando..." } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation..." + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation..." } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronisation..." + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronisation..." } } } }, - "Syncs flash color with ring light color": { - "comment": "A toggle that synchronizes the flash color with the ring light color.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincroniza el color del flash con el color del aro de luz" + "Syncs flash color with ring light color" : { + "comment" : "A toggle that synchronizes the flash color with the ring light color.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincroniza el color del flash con el color del aro de luz" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronise la couleur du flash avec la couleur de l'anneau lumineux" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronise la couleur du flash avec la couleur de l'anneau lumineux" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronise la couleur du flash avec la couleur de l'anneau lumineux" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronise la couleur du flash avec la couleur de l'anneau lumineux" } } } }, - "Syncs settings across all your devices via iCloud": { - "comment": "An accessibility hint describing the functionality of the sync toggle in the settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Sincroniza la configuración en todos tus dispositivos vía iCloud" + "Syncs settings across all your devices via iCloud" : { + "comment" : "An accessibility hint describing the functionality of the sync toggle in the settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sincroniza la configuración en todos tus dispositivos vía iCloud" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Synchronise les réglages sur tous vos appareils via iCloud" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronise les réglages sur tous vos appareils via iCloud" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Synchronise les réglages sur tous vos appareils via iCloud" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Synchronise les réglages sur tous vos appareils via iCloud" } } } }, - "Take photo": { - "comment": "An accessibility label for the capture button.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Tomar foto" + "Take photo" : { + "comment" : "An accessibility label for the capture button.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tomar foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Prendre une photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prendre une photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Prendre une photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prendre une photo" } } } }, - "Tap to collapse settings": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Toca para contraer configuración" + "Tap to collapse settings" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toca para contraer configuración" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Appuyez pour réduire les réglages" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez pour réduire les réglages" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Appuyez pour réduire les réglages" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez pour réduire les réglages" } } } }, - "Tap to expand camera settings": { - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Toca para expandir configuración de cámara" + "Tap to expand camera settings" : { + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toca para expandir configuración de cámara" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Appuyez pour développer les réglages de caméra" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez pour développer les réglages de caméra" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Appuyez pour développer les réglages de caméra" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appuyez pour développer les réglages de caméra" } } } }, - "Third-party libraries used in this app": { - "comment": "A description of the third-party libraries used in this app.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Bibliotecas de terceros utilizadas en esta app" + "Third-party libraries used in this app" : { + "comment" : "A description of the third-party libraries used in this app.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bibliotecas de terceros utilizadas en esta app" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Bibliothèques tierces utilisées dans cette app" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bibliothèques tierces utilisées dans cette app" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Bibliothèques tierces utilisées dans cette app" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bibliothèques tierces utilisées dans cette app" } } } }, - "True Mirror": { - "comment": "Title of a toggle in the settings view that allows the user to flip the camera preview.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Espejo Real" + "True Mirror" : { + "comment" : "Title of a toggle in the settings view that allows the user to flip the camera preview.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Espejo Real" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Miroir Réel" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Miroir Réel" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Miroir Réel" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Miroir Réel" } } } }, - "True Mirror Mode": { - "comment": "Feature of the Pro subscription that allows users to see their reflection in the mirror.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Modo Espejo Real" + "True Mirror Mode" : { + "comment" : "Feature of the Pro subscription that allows users to see their reflection in the mirror.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo Espejo Real" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mode Miroir Réel" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode Miroir Réel" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Mode Miroir Réel" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode Miroir Réel" } } } }, - "Upgrade to Pro": { - "comment": "A button label that prompts users to upgrade to the premium version of the app.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mejorar a Pro" + "Upgrade to Pro" : { + "comment" : "A button label that prompts users to upgrade to the premium version of the app.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mejorar a Pro" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Passer à Pro" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer à Pro" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Passer à Pro" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer à Pro" } } } }, - "Upgrade to unlock 5s and 10s timers": { - "comment": "A message displayed to users who want to upgrade to unlock longer self-timer durations.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mejora para desbloquear temporizadores de 5s y 10s" + "Upgrade to unlock 5s and 10s timers" : { + "comment" : "A message displayed to users who want to upgrade to unlock longer self-timer durations.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mejora para desbloquear temporizadores de 5s y 10s" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Passez à Pro pour débloquer les retardateurs de 5s et 10s" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passez à Pro pour débloquer les retardateurs de 5s et 10s" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Passez à Pro pour débloquer les retardateurs de 5s et 10s" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passez à Pro pour débloquer les retardateurs de 5s et 10s" } } } }, - "Upgrade to unlock High quality": { - "comment": "A message displayed to users who want to upgrade to access higher image quality for their saved photos.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Mejora para desbloquear Alta calidad" + "Upgrade to unlock High quality" : { + "comment" : "A message displayed to users who want to upgrade to access higher image quality for their saved photos.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mejora para desbloquear Alta calidad" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Passez à Pro pour débloquer la Haute qualité" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passez à Pro pour débloquer la Haute qualité" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Passez à Pro pour débloquer la Haute qualité" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passez à Pro pour débloquer la Haute qualité" } } } }, - "Use ring light color for screen flash": { - "comment": "Accessibility hint for the \"Flash Sync\" toggle in the Settings view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Usar color del aro de luz para flash de pantalla" + "Use ring light color for screen flash" : { + "comment" : "Accessibility hint for the \"Flash Sync\" toggle in the Settings view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usar color del aro de luz para flash de pantalla" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Utiliser la couleur de l'anneau lumineux pour le flash d'écran" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utiliser la couleur de l'anneau lumineux pour le flash d'écran" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Utiliser la couleur de l'anneau lumineux pour le flash d'écran" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utiliser la couleur de l'anneau lumineux pour le flash d'écran" } } } }, - "Use the buttons at the bottom to save or share your photo": { - "comment": "An accessibility hint for the photo review view, instructing the user on how to interact with the view.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Usa los botones de abajo para guardar o compartir tu foto" + "Use the buttons at the bottom to save or share your photo" : { + "comment" : "An accessibility hint for the photo review view, instructing the user on how to interact with the view.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usa los botones de abajo para guardar o compartir tu foto" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Utilisez les boutons en bas pour enregistrer ou partager votre photo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisez les boutons en bas pour enregistrer ou partager votre photo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Utilisez les boutons en bas pour enregistrer ou partager votre photo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisez les boutons en bas pour enregistrer ou partager votre photo" } } } }, - "Uses screen flash when taking front camera photos": { - "comment": "A toggle that enables or disables the use of the front camera's flash during photo captures.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Usa flash de pantalla al tomar fotos con cámara frontal" + "Uses screen flash when taking front camera photos" : { + "comment" : "A toggle that enables or disables the use of the front camera's flash during photo captures.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usa flash de pantalla al tomar fotos con cámara frontal" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Utilise le flash d'écran lors de la prise de photos avec la caméra frontale" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilise le flash d'écran lors de la prise de photos avec la caméra frontale" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Utilise le flash d'écran lors de la prise de photos avec la caméra frontale" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilise le flash d'écran lors de la prise de photos avec la caméra frontale" } } } }, - "Video": { - "comment": "Display name for the \"Video\" capture mode.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Video" + "Video" : { + "comment" : "Display name for the \"Video\" capture mode.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Vidéo" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéo" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Vidéo" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéo" } } } }, - "View on GitHub": { - "comment": "A button label that says \"View on GitHub\".", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ver en GitHub" + "View on GitHub" : { + "comment" : "A button label that says \"View on GitHub\".", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ver en GitHub" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Voir sur GitHub" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Voir sur GitHub" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" } } } }, - "Warm Amber": { - "comment": "Name of a ring light color preset.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Ámbar Cálido" + "Warm Amber" : { + "comment" : "Name of a ring light color preset.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ámbar Cálido" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ambre Chaud" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ambre Chaud" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Ambre Chaud" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ambre Chaud" } } } }, - "Warm Cream": { - "comment": "A color option for the ring light, named after a warm, creamy shade of white.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Crema Cálido" + "Warm Cream" : { + "comment" : "A color option for the ring light, named after a warm, creamy shade of white.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crema Cálido" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Crème Chaud" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crème Chaud" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Crème Chaud" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crème Chaud" } } } }, - "When enabled, photos and videos are saved immediately after capture": { - "comment": "A hint provided by the \"Auto-Save\" toggle in the Settings view, explaining that photos and videos are saved immediately after capture when enabled.", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Cuando está activado, las fotos y videos se guardan inmediatamente después de capturar" + "When enabled, photos and videos are saved immediately after capture" : { + "comment" : "A hint provided by the \"Auto-Save\" toggle in the Settings view, explaining that photos and videos are saved immediately after capture when enabled.", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuando está activado, las fotos y videos se guardan inmediatamente después de capturar" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Lorsqu'activé, les photos et vidéos sont enregistrées immédiatement après la capture" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorsqu'activé, les photos et vidéos sont enregistrées immédiatement après la capture" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Lorsqu'activé, les photos et vidéos sont enregistrées immédiatement après la capture" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorsqu'activé, les photos et vidéos sont enregistrées immédiatement après la capture" } } } }, - "Zoom %@ times": { - "comment": "A label describing the zoom level of the camera view. The argument is the string \"%.1f\".", - "isCommentAutoGenerated": true, - "localizations": { - "es-MX": { - "stringUnit": { - "state": "translated", - "value": "Zoom %@ veces" + "Zoom %@ times" : { + "comment" : "A label describing the zoom level of the camera view. The argument is the string \"%.1f\".", + "isCommentAutoGenerated" : true, + "localizations" : { + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zoom %@ veces" } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Zoom %@ fois" + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zoom %@ fois" } }, - "fr-CA": { - "stringUnit": { - "state": "translated", - "value": "Zoom %@ fois" + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zoom %@ fois" } } } } }, - "version": "1.1" + "version" : "1.1" } \ No newline at end of file diff --git a/SelfieCam/Shared/BrandingConfig.swift b/SelfieCam/Shared/BrandingConfig.swift new file mode 100644 index 0000000..0c5da35 --- /dev/null +++ b/SelfieCam/Shared/BrandingConfig.swift @@ -0,0 +1,66 @@ +// +// BrandingConfig.swift +// SelfieCam +// +// App-specific branding configurations for icons and launch screens. +// + +import SwiftUI +import Bedrock + +// MARK: - App Branding Colors + +extension Color { + /// SelfieCam branding colors for icon and launch screen. + enum Branding { + /// Primary gradient color - rich magenta/rose for a vibrant, modern selfie aesthetic. + static let primary = Color(red: 0.85, green: 0.25, blue: 0.45) + + /// Secondary gradient color - deeper magenta/purple for depth. + static let secondary = Color(red: 0.45, green: 0.12, blue: 0.35) + + /// Accent color - soft white/cream for clean, bright text and icons. + static let accent = Color.white + } +} + +// MARK: - App Icon Configuration + +extension AppIconConfig { + /// SelfieCam app icon configuration. + /// A vibrant, modern icon perfect for a selfie camera app. + static let selfieCam = AppIconConfig( + title: "SELFIE", + subtitle: "CAM", + iconSymbol: "camera.fill", + primaryColor: Color.Branding.primary, + secondaryColor: Color.Branding.secondary, + accentColor: Color.Branding.accent + ) +} + +// MARK: - Launch Screen Configuration + +extension LaunchScreenConfig { + /// SelfieCam launch screen configuration. + /// Animated launch screen with camera-focused visuals and radial glow. + static let selfieCam = LaunchScreenConfig( + title: "SELFIE CAM", + tagline: "Look Your Best", + iconSymbols: ["camera.fill", "sparkles"], + cornerSymbol: "sparkle", + decorativeSymbol: "circle.fill", + patternStyle: .radial, + layoutStyle: .iconAboveTitle, + primaryColor: Color.Branding.primary, + secondaryColor: Color.Branding.secondary, + accentColor: Color.Branding.accent, + titleColor: .white, + iconSize: 52, + titleSize: 38, + subtitleSize: 72, + iconSpacing: 12, + animationDuration: 0.6, + showLoadingIndicator: false + ) +}