diff --git a/DynamicIsland/Localizable.xcstrings b/DynamicIsland/Localizable.xcstrings index b9a4d48..ff54730 100644 --- a/DynamicIsland/Localizable.xcstrings +++ b/DynamicIsland/Localizable.xcstrings @@ -2320,7 +2320,14 @@ } }, "Add icon" : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adicionar ícone" + } + } + } }, "Add manually" : { "extractionState" : "stale", @@ -3894,6 +3901,26 @@ } } }, + "auto open" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "abrir automaticamente" + } + } + } + }, + "auto switch" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "trocar automaticamente" + } + } + } + }, "Auto-scroll to next event" : { "comment" : "A toggle that enables or disables the automatic scrolling to the next event in the calendar view.", "isCommentAutoGenerated" : true, @@ -4106,6 +4133,26 @@ } } }, + "Automatically switch displays" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trocar automaticamente as telas" + } + } + } + }, + "autostart" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iiício automático" + } + } + } + }, "Averages" : { "comment" : "A label displayed above the average usage and last update information for a GPU.", "isCommentAutoGenerated" : true, @@ -4938,7 +4985,8 @@ "value" : "Achetez-nous un café" } } - } + }, + "shouldTranslate" : false }, "Calendar" : { "localizations" : { @@ -6424,6 +6472,16 @@ } } }, + "close" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "fechar" + } + } + } + }, "Close" : { "localizations" : { "ar" : { @@ -6540,6 +6598,16 @@ } } }, + "Close gesture" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gesto de fechar" + } + } + } + }, "Collect the latest crash report to share with the developer when reporting lock screen or overlay issues." : { "comment" : "A footer for the \"Diagnostics\" section of the lock screen settings.", "isCommentAutoGenerated" : true, @@ -7299,6 +7367,9 @@ } } }, + "cursor" : { + "shouldTranslate" : false + }, "Custom" : { "extractionState" : "stale", "localizations" : { @@ -8423,7 +8494,14 @@ } }, "Disable Minimalistic UI to configure the standard notch media controls." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desatile a interface do usuário minimalista para configurar os controles de mídia no notch padrão." + } + } + } }, "Disabled" : { "localizations" : { @@ -8569,6 +8647,16 @@ } } }, + "display height" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "altura da tela" + } + } + } + }, "Display Mode" : { "localizations" : { "fr" : { @@ -8596,6 +8684,16 @@ } } }, + "displays" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "telas" + } + } + } + }, "Displays a HUD notification when Bluetooth audio devices (headphones, AirPods, speakers) connect, showing device name and battery level." : { "comment" : "A footer for the \"Bluetooth Audio Devices\" section in the HUD settings.", "isCommentAutoGenerated" : true, @@ -8646,7 +8744,15 @@ }, "Donate" : { "comment" : "A button label that says \"Donate\".", - "isCommentAutoGenerated" : true + "isCommentAutoGenerated" : true, + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doar" + } + } + } }, "Done" : { "comment" : "A button label that indicates that the user has finished editing a note.", @@ -8967,7 +9073,14 @@ } }, "Drop a PNG, JPEG, TIFF, or ICNS file to add it to your icon library." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arraste um arquivo PNG, JPEG, TIFF, or ICNS para adiciona-lo ia sua biblioteca de ícones." + } + } + } }, "Drop files here" : { "localizations" : { @@ -9082,7 +9195,14 @@ } }, "Dynamic Island Visibility" : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Visibilidade da Dynamic Islan" + } + } + } }, "dynamic.island" : { "localizations" : { @@ -9536,7 +9656,14 @@ } }, "Enable Dynamic Island media controls to manage the lock screen panel." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ative os controles de mídia Dynamic Island para gerenciar o painel da tela de bloqueio." + } + } + } }, "Enable extensions to allow third-party apps to display live activities and lock screen widgets in Atoll." : { "comment" : "A footer text that explains the purpose of enabling extensions.", @@ -9550,6 +9677,16 @@ } } }, + "Enable gestures" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Habilitar gestos" + } + } + } + }, "Enable global keyboard shortcuts above to customize your shortcuts." : { "localizations" : { "pt-BR" : { @@ -9573,7 +9710,6 @@ } }, "Enable haptics" : { - "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { @@ -9786,6 +9922,16 @@ } } }, + "Enable Minimalistic UI" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Habilitar UI Minimalista" + } + } + } + }, "Enable music live activity" : { "localizations" : { "ar" : { @@ -10483,6 +10629,16 @@ } } }, + "Extend hover area" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Expandir a área de hover" + } + } + } + }, "Extension tab unavailable" : { "comment" : "A message displayed when the extension tab is not available.", "isCommentAutoGenerated" : true, @@ -10613,6 +10769,9 @@ } } }, + "feedback" : { + "shouldTranslate" : false + }, "Files dropped on the shelf will be shared via this service" : { "comment" : "A description below the currently selected quick share provider, explaining that files dropped on the shelf will be shared via that provider.", "isCommentAutoGenerated" : true, @@ -10845,6 +11004,16 @@ } } }, + "general" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geral" + } + } + } + }, "General" : { "localizations" : { "ar" : { @@ -11157,6 +11326,16 @@ } } }, + "gestures" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "gestos" + } + } + } + }, "Get started" : { "localizations" : { "ar" : { @@ -11628,6 +11807,16 @@ } } }, + "haptic" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "tátil" + } + } + } + }, "Height:" : { "extractionState" : "stale", "localizations" : { @@ -11695,6 +11884,16 @@ } } }, + "Hide Dynamic Island during screenshots & recordings" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ocultar Dynamic Island durante capturas de tela e gravações" + } + } + } + }, "Hide DynamicIsland Options" : { "localizations" : { "fr" : { @@ -12050,6 +12249,19 @@ }, "shouldTranslate" : false }, + "hover" : { + "shouldTranslate" : false + }, + "hover to open" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "hover para abrir" + } + } + } + }, "https://example.com/animation.json" : { "comment" : "A placeholder text for a Lottie JSON URL input field.", "isCommentAutoGenerated" : true, @@ -12376,6 +12588,16 @@ }, "shouldTranslate" : false }, + "icon" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "ícone" + } + } + } + }, "Icon & Progress Color" : { "comment" : "A picker that lets users choose the color scheme for the icon and progress bar in the OSD.", "isCommentAutoGenerated" : true, @@ -13050,6 +13272,16 @@ } } }, + "Launch at login" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iniciar no login" + } + } + } + }, "Layout" : { "comment" : "A label for the segment control that lets the user choose the layout of the weather widget.", "isCommentAutoGenerated" : true, @@ -13808,7 +14040,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Corresponder à altura da barra de menu" + "value" : "Corresponder à altura da barra de menus" } }, "ru" : { @@ -14054,6 +14286,16 @@ } } }, + "media" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "mídia" + } + } + } + }, "Media" : { "localizations" : { "ar" : { @@ -14156,7 +14398,6 @@ }, "Media change with horizontal gestures" : { "comment" : "A toggle that lets the user enable or disable the feature of changing the currently playing media using horizontal gestures.", - "extractionState" : "stale", "isCommentAutoGenerated" : true, "localizations" : { "ar" : { @@ -14227,8 +14468,8 @@ }, "pt-BR" : { "stringUnit" : { - "state" : "needs_review", - "value" : "Media change with horizontal gestures" + "state" : "translated", + "value" : "Mudar a mídia com gestos horizontais" } }, "ru" : { @@ -14820,8 +15061,27 @@ } } }, + "menu bar" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "barra de menu" + } + } + } + }, + "menu bar size" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "tamanho da menu bar" + } + } + } + }, "Menubar icon" : { - "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { @@ -14891,8 +15151,8 @@ }, "pt-BR" : { "stringUnit" : { - "state" : "needs_review", - "value" : "Menubar icon" + "state" : "translated", + "value" : "ícone da barra de menus" } }, "ru" : { @@ -15132,6 +15392,16 @@ } } }, + "minimalistic" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "minimaalista" + } + } + } + }, "Minimalistic mode focuses on media controls and system HUDs, hiding all extra features for a clean, focused experience. Automatically enables simpler animations." : { "localizations" : { "pt-BR" : { @@ -17692,6 +17962,16 @@ } } }, + "open" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "abrir" + } + } + } + }, "Open Google AI Studio" : { "localizations" : { "pt-BR" : { @@ -17724,6 +18004,16 @@ } } }, + "Open notch on hover" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir notch com hover" + } + } + } + }, "Open System Settings" : { "localizations" : { "pt-BR" : { @@ -17960,6 +18250,16 @@ } } }, + "pinch" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "pinça" + } + } + } + }, "Pinned Items" : { "localizations" : { "pt-BR" : { @@ -18222,6 +18522,16 @@ } } }, + "privacy" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "privacidade" + } + } + } + }, "Privacy Indicators" : { "comment" : "A heading for the section that lists privacy indicators.", "isCommentAutoGenerated" : true, @@ -18707,6 +19017,16 @@ } } }, + "recording" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "gravação" + } + } + } + }, "Recording" : { "localizations" : { "fr" : { @@ -19030,7 +19350,14 @@ } }, "Remove selected" : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remover selecionado" + } + } + } }, "Request Access" : { "localizations" : { @@ -19347,6 +19674,46 @@ } } }, + "reverse" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "inverter" + } + } + } + }, + "Reverse open/close scroll gestures" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inverter gestos de abrir/fechar com scroll" + } + } + } + }, + "Reverse scroll gestures" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inverter gestos de rolagem" + } + } + } + }, + "Reverse swipe gestures" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inverter gestos de arrastar" + } + } + } + }, "Revoke Access" : { "comment" : "A button that revokes access to an app.", "isCommentAutoGenerated" : true, @@ -19638,6 +20005,16 @@ } } }, + "screenshot" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "captura de tela" + } + } + } + }, "Screenshot options" : { "localizations" : { "fr" : { @@ -19670,6 +20047,9 @@ } } }, + "scroll" : { + "shouldTranslate" : false + }, "Scroll" : { "comment" : "A hint text that appears when scrolling horizontally in the control palette.", "isCommentAutoGenerated" : true, @@ -21957,10 +22337,24 @@ } }, "Standard notch media controls are hidden while this toggle is off." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Os controles de mídia no notch padrão estão ocultos enquanto esta opção está desligada." + } + } + } }, "Standard notch media controls are hidden. Re-enable the toggle above to restore them." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Os controles de mídia no notch padrão estão ocultos. Reative a opção acima para restaurá-los." + } + } + } }, "Start" : { "localizations" : { @@ -22102,6 +22496,16 @@ } } }, + "startup" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "inicializar" + } + } + } + }, "Stats" : { "localizations" : { "fr" : { @@ -22216,6 +22620,16 @@ } } }, + "status bar" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "barra de status" + } + } + } + }, "Status:" : { "comment" : "A label for the status of an extension.", "isCommentAutoGenerated" : true, @@ -22539,6 +22953,16 @@ } } }, + "swipe" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "arrastar" + } + } + } + }, "System" : { "comment" : "A label displayed above the system, load average, and uptime information.", "isCommentAutoGenerated" : true, @@ -22698,7 +23122,14 @@ "shouldTranslate" : false }, "These controls mirror the Lock Screen tab so you can tune the media overlay while focusing on playback settings." : { - + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esses controles espelham a aba da Tela de Bloqueio para que você possa ajustar a sobreposição de mídia enquanto se concentra nas configurações de reprodução." + } + } + } }, "These controls sit beside the notch while a timer runs. They require the timer name to stay hidden for spacing." : { "localizations" : { @@ -23292,6 +23723,9 @@ }, "shouldTranslate" : false }, + "trackpad" : { + "shouldTranslate" : false + }, "Transform" : { "extractionState" : "stale", "localizations" : { @@ -23472,6 +23906,16 @@ } } }, + "ui mode" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modo UI" + } + } + } + }, "UI Mode" : { "localizations" : { "fr" : { @@ -25165,7 +25609,15 @@ }, "Your support funds software development learning for students in 9th–12th grade." : { "comment" : "A footer note explaining the app's funding.", - "isCommentAutoGenerated" : true + "isCommentAutoGenerated" : true, + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seu apoio financia o aprendizado de desenvolvimento de software para alunos do 9º ao 12º ano." + } + } + } }, "YouTube Music requires this third-party app to be installed: " : { "localizations" : { diff --git a/DynamicIsland/components/Settings/SettingsView.swift b/DynamicIsland/components/Settings/SettingsView.swift index 90683ab..3d5f4aa 100644 --- a/DynamicIsland/components/Settings/SettingsView.swift +++ b/DynamicIsland/components/Settings/SettingsView.swift @@ -592,32 +592,91 @@ struct SettingsView: View { private var settingsSearchIndex: [SettingsSearchEntry] { [ // General - SettingsSearchEntry(tab: .general, title: "Enable Minimalistic UI", keywords: ["minimalistic", "ui mode", "general"], highlightID: SettingsTab.general.highlightID(for: "Enable Minimalistic UI")), - SettingsSearchEntry(tab: .general, title: "Menubar icon", keywords: ["menu bar", "status bar", "icon"], highlightID: SettingsTab.general.highlightID(for: "Menubar icon")), - SettingsSearchEntry(tab: .general, title: "Launch at login", keywords: ["autostart", "startup"], highlightID: SettingsTab.general.highlightID(for: "Launch at login")), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Enable Minimalistic UI"), + keywords: [ String(localized: "minimalistic"), String(localized: "ui mode"), String(localized: "general") ], + highlightID: SettingsTab.general.highlightID(for: "Enable Minimalistic UI") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized:"Menubar icon"), + keywords: [ String(localized:"menu bar"), String(localized:"status bar"), String(localized:"icon") ], + highlightID: SettingsTab.general.highlightID(for: "Menubar icon") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized:"Launch at login"), + keywords: [ String(localized:"autostart"), String(localized:"startup")], + highlightID: SettingsTab.general.highlightID(for: "Launch at login") + ), SettingsSearchEntry(tab: .general, title: "Show on all displays", keywords: ["multi-display", "external monitor"], highlightID: SettingsTab.general.highlightID(for: "Show on all displays")), - SettingsSearchEntry(tab: .general, title: "Show on a specific display", keywords: ["preferred screen", "display picker"], highlightID: SettingsTab.general.highlightID(for: "Show on a specific display")), - SettingsSearchEntry(tab: .general, title: "Automatically switch displays", keywords: ["auto switch", "displays"], highlightID: SettingsTab.general.highlightID(for: "Automatically switch displays")), - SettingsSearchEntry(tab: .general, title: "Hide Dynamic Island during screenshots & recordings", keywords: ["privacy", "screenshot", "recording"], highlightID: SettingsTab.general.highlightID(for: "Hide Dynamic Island during screenshots & recordings")), - SettingsSearchEntry(tab: .general, title: "Enable gestures", keywords: ["gestures", "trackpad"], highlightID: SettingsTab.general.highlightID(for: "Enable gestures")), - SettingsSearchEntry(tab: .general, title: "Close gesture", keywords: ["pinch", "swipe"], highlightID: SettingsTab.general.highlightID(for: "Close gesture")), - SettingsSearchEntry(tab: .general, title: "Reverse swipe gestures", keywords: ["reverse", "swipe", "media"], highlightID: SettingsTab.general.highlightID(for: "Reverse swipe gestures")), - SettingsSearchEntry(tab: .general, title: "Reverse scroll gestures", keywords: ["reverse", "scroll", "open", "close"], highlightID: SettingsTab.general.highlightID(for: "Reverse scroll gestures")), - SettingsSearchEntry(tab: .general, title: "Extend hover area", keywords: ["hover", "cursor"], highlightID: SettingsTab.general.highlightID(for: "Extend hover area")), - SettingsSearchEntry(tab: .general, title: "Enable haptics", keywords: ["haptic", "feedback"], highlightID: SettingsTab.general.highlightID(for: "Enable haptics")), - SettingsSearchEntry(tab: .general, title: "Open notch on hover", keywords: ["hover to open", "auto open"], highlightID: SettingsTab.general.highlightID(for: "Open notch on hover")), - SettingsSearchEntry(tab: .general, title: "Notch display height", keywords: ["display height", "menu bar size"], highlightID: SettingsTab.general.highlightID(for: "Notch display height")), - - // Live Activities - SettingsSearchEntry(tab: .liveActivities, title: "Enable Screen Recording Detection", keywords: ["screen recording", "indicator"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable Screen Recording Detection")), - SettingsSearchEntry(tab: .liveActivities, title: "Show Recording Indicator", keywords: ["recording indicator", "red dot"], highlightID: SettingsTab.liveActivities.highlightID(for: "Show Recording Indicator")), - SettingsSearchEntry(tab: .liveActivities, title: "Enable Focus Detection", keywords: ["focus", "do not disturb", "dnd"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable Focus Detection")), - SettingsSearchEntry(tab: .liveActivities, title: "Show Focus Indicator", keywords: ["focus icon", "moon"], highlightID: SettingsTab.liveActivities.highlightID(for: "Show Focus Indicator")), - SettingsSearchEntry(tab: .liveActivities, title: "Show Focus Label", keywords: ["focus label", "text"], highlightID: SettingsTab.liveActivities.highlightID(for: "Show Focus Label")), - SettingsSearchEntry(tab: .liveActivities, title: "Enable Camera Detection", keywords: ["camera", "privacy indicator"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable Camera Detection")), - SettingsSearchEntry(tab: .liveActivities, title: "Enable Microphone Detection", keywords: ["microphone", "privacy"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable Microphone Detection")), - SettingsSearchEntry(tab: .liveActivities, title: "Enable music live activity", keywords: ["music", "now playing"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable music live activity")), - SettingsSearchEntry(tab: .liveActivities, title: "Enable reminder live activity", keywords: ["reminder", "live activity"], highlightID: SettingsTab.liveActivities.highlightID(for: "Enable reminder live activity")), + SettingsSearchEntry( + tab: .general, + title: "Show on a specific display", + keywords: ["preferred screen", "display picker"], + highlightID: SettingsTab.general.highlightID(for: "Show on a specific display") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized:"Automatically switch displays"), + keywords: [String(localized:"auto switch"), String(localized:"displays")], + highlightID: SettingsTab.general.highlightID(for: "Automatically switch displays") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized:"Hide Dynamic Island during screenshots & recordings"), + keywords: [String(localized:"privacy"), String(localized:"screenshot"), String(localized:"recording")], + highlightID: SettingsTab.general.highlightID(for: "Hide Dynamic Island during screenshots & recordings") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Enable gestures"), + keywords: [String(localized: "gestures"), String(localized: "trackpad")], + highlightID: SettingsTab.general.highlightID(for: "Enable gestures") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Close gesture"), + keywords: [String(localized: "pinch"), String(localized: "swipe")], + highlightID: SettingsTab.general.highlightID(for: "Close gesture") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Reverse swipe gestures"), + keywords: [String(localized: "reverse"), String(localized: "swipe"), String(localized: "media")], + highlightID: SettingsTab.general.highlightID(for: "Reverse swipe gestures") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Reverse scroll gestures"), + keywords: [String(localized: "reverse"), String(localized: "scroll"), String(localized: "open"), String(localized: "close")], + highlightID: SettingsTab.general.highlightID(for: "Reverse scroll gestures") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Extend hover area"), + keywords: [String(localized: "hover"), String(localized: "cursor")], + highlightID: SettingsTab.general.highlightID(for: "Extend hover area") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Enable haptics"), + keywords: [String(localized: "haptic"), String(localized: "feedback")], + highlightID: SettingsTab.general.highlightID(for: "Enable haptics") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Open notch on hover"), + keywords: [String(localized: "hover to open"), String(localized: "auto open")], + highlightID: SettingsTab.general.highlightID(for: "Open notch on hover") + ), + SettingsSearchEntry( + tab: .general, + title: String(localized: "Notch display height"), + keywords: [String(localized: "display height"), String(localized: "menu bar size")], + highlightID: SettingsTab.general.highlightID(for: "Notch display height") + ), // Battery (Charge) SettingsSearchEntry(tab: .battery, title: "Show battery indicator", keywords: ["battery hud", "charge"], highlightID: SettingsTab.battery.highlightID(for: "Show battery indicator")), @@ -899,7 +958,7 @@ struct GeneralSettings: View { var body: some View { Form { Section { - Defaults.Toggle("Enable Minimalistic UI", key: .enableMinimalisticUI) + Defaults.Toggle(String(localized: "Enable Minimalistic UI"), key: .enableMinimalisticUI) .onChange(of: enableMinimalisticUI) { _, newValue in if newValue { // Auto-enable simpler animation mode @@ -914,9 +973,9 @@ struct GeneralSettings: View { } Section { - Defaults.Toggle("Menubar icon", key: .menubarIcon) - .settingsHighlight(id: highlightID("Menubar icon")) - LaunchAtLogin.Toggle("Launch at login") + Defaults.Toggle(String(localized:"Menubar icon"), key: .menubarIcon) + .settingsHighlight(id: highlightID("Menubar icon")); + LaunchAtLogin.Toggle(String(localized:"Launch at login")) .settingsHighlight(id: highlightID("Launch at login")) Defaults.Toggle(key: .showOnAllDisplays) { Text("Show on all displays") @@ -935,13 +994,13 @@ struct GeneralSettings: View { } .disabled(showOnAllDisplays) .settingsHighlight(id: highlightID("Show on a specific display")) - Defaults.Toggle("Automatically switch displays", key: .automaticallySwitchDisplay) + Defaults.Toggle(String(localized:"Automatically switch displays"), key: .automaticallySwitchDisplay) .onChange(of: automaticallySwitchDisplay) { NotificationCenter.default.post(name: Notification.Name.automaticallySwitchDisplayChanged, object: nil) } .disabled(showOnAllDisplays) .settingsHighlight(id: highlightID("Automatically switch displays")) - Defaults.Toggle("Hide Dynamic Island during screenshots & recordings", key: .hideDynamicIslandFromScreenCapture) + Defaults.Toggle(String(localized:"Hide Dynamic Island during screenshots & recordings"), key: .hideDynamicIslandFromScreenCapture) .settingsHighlight(id: highlightID("Hide Dynamic Island during screenshots & recordings")) } header: { Text("System features") @@ -1029,11 +1088,11 @@ struct GeneralSettings: View { @ViewBuilder func gestureControls() -> some View { Section { - Defaults.Toggle("Enable gestures", key: .enableGestures) + Defaults.Toggle(String(localized:"Enable gestures"), key: .enableGestures) .disabled(!openNotchOnHover) .settingsHighlight(id: highlightID("Enable gestures")) if enableGestures { - Defaults.Toggle("Media change with horizontal gestures", key: .enableHorizontalMusicGestures) + Defaults.Toggle(String(localized:"Media change with horizontal gestures"), key: .enableHorizontalMusicGestures) .settingsHighlight(id: highlightID("Horizontal media gestures")) if enableHorizontalMusicGestures { @@ -1050,11 +1109,11 @@ struct GeneralSettings: View { .font(.caption) .foregroundStyle(.secondary) - Defaults.Toggle("Reverse swipe gestures", key: .reverseSwipeGestures) + Defaults.Toggle(String(localized:"Reverse swipe gestures"), key: .reverseSwipeGestures) .settingsHighlight(id: highlightID("Reverse swipe gestures")) } - Defaults.Toggle("Close gesture", key: .closeGestureEnabled) + Defaults.Toggle(String(localized:"Close gesture"), key: .closeGestureEnabled) .settingsHighlight(id: highlightID("Close gesture")) Slider(value: $gestureSensitivity, in: 100...300, step: 100) { HStack { @@ -1065,7 +1124,7 @@ struct GeneralSettings: View { } } - Defaults.Toggle("Reverse open/close scroll gestures", key: .reverseScrollGestures) + Defaults.Toggle(String(localized:"Reverse open/close scroll gestures"), key: .reverseScrollGestures) .settingsHighlight(id: highlightID("Reverse scroll gestures")) } } header: { @@ -1084,11 +1143,11 @@ struct GeneralSettings: View { @ViewBuilder func NotchBehaviour() -> some View { Section { - Defaults.Toggle("Extend hover area", key: .extendHoverArea) + Defaults.Toggle(String(localized:"Extend hover area"), key: .extendHoverArea) .settingsHighlight(id: highlightID("Extend hover area")) - Defaults.Toggle("Enable haptics", key: .enableHaptics) + Defaults.Toggle(String(localized:"Enable haptics"), key: .enableHaptics) .settingsHighlight(id: highlightID("Enable haptics")) - Defaults.Toggle("Open notch on hover", key: .openNotchOnHover) + Defaults.Toggle(String(localized:"Open notch on hover"), key: .openNotchOnHover) .settingsHighlight(id: highlightID("Open notch on hover")) Toggle("Remember last tab", isOn: $coordinator.openLastTabByDefault) if openNotchOnHover {