diff --git a/DynamicIsland/Localizable.xcstrings b/DynamicIsland/Localizable.xcstrings index 01b6142..67ceccb 100644 --- a/DynamicIsland/Localizable.xcstrings +++ b/DynamicIsland/Localizable.xcstrings @@ -1842,6 +1842,26 @@ } } }, + "Accessibility permission lets Dynamic Island replace the native volume, brightness, and keyboard HUDs." : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "A permissão de acessibilidade permite que o Dynamic Island substitua o volume nativo, o brilho e os HUDs do teclado." + } + } + } + }, + "Accessibility permission required" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permissão de acessibilidade necessária" + } + } + } + }, "Actions" : { "localizations" : { "fr" : { @@ -5663,7 +5683,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Escolha qual serviço usar ao compartilhar arquivos da prateleira. Arraste os arquivos para a prateleira ou clique no botão da prateleira para escolher os arquivos." + "value" : "Escolha qual serviço usar ao compartilhar arquivos da mesa. Arraste os arquivos para a mesa ou clique no botão da mesa para escolher os arquivos." } } } @@ -5675,7 +5695,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Escolha quais controles de sistema devem exibir janelas OSD personalizadas." + "value" : "Escolha quais controles de sistema devem exibir janelas OSD customizadas." } } } @@ -5839,6 +5859,9 @@ "circular" : { "shouldTranslate" : false }, + "Circular" : { + "shouldTranslate" : false + }, "classic" : { "localizations" : { "pt-BR" : { @@ -7587,7 +7610,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "OSD personalizado" + "value" : "OSD Customizado" } } } @@ -7599,7 +7622,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "O recurso OSD personalizado requer o macOS 15 ou posterior." + "value" : "O recurso OSD customizado requer o macOS 15 ou posterior." } } } @@ -8850,6 +8873,12 @@ } } }, + "Dynamic Island" : { + "shouldTranslate" : false + }, + "Dynamic Island HUD" : { + "shouldTranslate" : false + }, "Dynamic Island Progress Bars" : { "comment" : "A section header that lists the options for customizing the appearance of the progress bars displayed by Dynamic Island.", "isCommentAutoGenerated" : true, @@ -10526,7 +10555,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Os arquivos deixados na prateleira serão compartilhados através deste serviço" + "value" : "Os arquivos deixados na mesa serão compartilhados através deste serviço" } } } @@ -10726,6 +10755,16 @@ } } }, + "Full Disk Access required" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acesso Completo ao Disco Necessário" + } + } + } + }, "Fully charged" : { "comment" : "Charging fallback label when already charged", "localizations" : { @@ -11593,6 +11632,16 @@ } } }, + "Grant Full Disk Access so the Shelf can index and move files outside the app sandbox." : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conceda Acesso Total ao Disco para que a Mesa possa indexar e mover arquivos para fora da sandbox do aplicativo." + } + } + } + }, "graph" : { "localizations" : { "pt-BR" : { @@ -17816,6 +17865,26 @@ } } }, + "Open Privacy & Security" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir Privacidade e Segurança" + } + } + } + }, + "Open Settings" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir Ajustes" + } + } + } + }, "Open shelf tab by default if items added" : { "localizations" : { "pt-BR" : { @@ -18127,6 +18196,16 @@ } } }, + "Play feedback when volume is changed" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reproduzir feedback quando o volume for alterado" + } + } + } + }, "Play lock/unlock sounds" : { "localizations" : { "pt-BR" : { @@ -19336,7 +19415,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Remova da prateleira depois de arrastar" + "value" : "Remova da mesa depois de arrastar" } } } @@ -19362,7 +19441,17 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Requer Acesso" + "value" : "Solicitar Acesso" + } + } + } + }, + "Request Full Disk Access" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solicitar Acesso Completo ao Disco" } } } @@ -20676,7 +20765,7 @@ "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Prateleira" + "value" : "Mesa" } }, "ru" : { @@ -24645,6 +24734,16 @@ } } }, + "Vertical Bar" : { + "localizations" : { + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Barra Vertical" + } + } + } + }, "Vertical:" : { "extractionState" : "stale", "localizations" : { diff --git a/DynamicIsland/components/Settings/SettingsView.swift b/DynamicIsland/components/Settings/SettingsView.swift index 7c4b7b1..9977d7a 100644 --- a/DynamicIsland/components/Settings/SettingsView.swift +++ b/DynamicIsland/components/Settings/SettingsView.swift @@ -2014,6 +2014,15 @@ private struct HUDAndOSDSettingsView: View { case circular = "Circular" var id: String { rawValue } + + var title: String { + switch self { + case .hud: return String(localized: "Dynamic Island HUD") + case .osd: return String(localized: "Custom OSD") + case .vertical: return String(localized: "Vertical Bar") + case .circular: return String(localized: "Circular") + } + } } private var paneBackgroundColor: Color { @@ -2024,7 +2033,7 @@ private struct HUDAndOSDSettingsView: View { VStack(spacing: 20) { HStack(spacing: 16) { HUDSelectionCard( - title: "Dynamic Island", + title: String(localized: "Dynamic Island"), isSelected: selectedTab == .hud, action: { selectedTab = .hud @@ -2064,7 +2073,7 @@ private struct HUDAndOSDSettingsView: View { } HUDSelectionCard( - title: "Custom OSD", + title: String(localized: "Custom OSD"), isSelected: selectedTab == .osd, action: { selectedTab = .osd @@ -2106,7 +2115,7 @@ private struct HUDAndOSDSettingsView: View { } HUDSelectionCard( - title: "Vertical Bar", + title: String(localized: "Vertical Bar"), isSelected: selectedTab == .vertical, action: { selectedTab = .vertical @@ -2149,7 +2158,7 @@ private struct HUDAndOSDSettingsView: View { } HUDSelectionCard( - title: "Circular", + title: String(localized: "Circular"), isSelected: selectedTab == .circular, action: { selectedTab = .circular @@ -2489,7 +2498,7 @@ struct HUD: View { if !hasAccessibilityPermission { Section { SettingsPermissionCallout( - message: "Accessibility permission lets Dynamic Island replace the native volume, brightness, and keyboard HUDs.", + message: String(localized: "Accessibility permission lets Dynamic Island replace the native volume, brightness, and keyboard HUDs."), requestAction: { accessibilityPermission.requestAuthorizationPrompt() }, openSettingsAction: { accessibilityPermission.openSystemSettings() } ) @@ -2515,7 +2524,7 @@ struct HUD: View { } Section { - Defaults.Toggle("Play feedback when volume is changed", key: .playVolumeChangeFeedback) + Defaults.Toggle(String(localized: "Play feedback when volume is changed"), key: .playVolumeChangeFeedback) .settingsHighlight(id: highlightID("Play feedback when volume is changed")) .help("Plays the supplied feedback clip whenever you press the hardware volume keys.") } header: { @@ -2527,16 +2536,16 @@ struct HUD: View { } Section { - Defaults.Toggle("Color-coded volume display", key: .useColorCodedVolumeDisplay) + Defaults.Toggle(String(localized: "Color-coded volume display"), key: .useColorCodedVolumeDisplay) .disabled(colorCodingDisabled) .settingsHighlight(id: highlightID("Color-coded volume display")) if !colorCodingDisabled && (Defaults[.useColorCodedBatteryDisplay] || Defaults[.useColorCodedVolumeDisplay]) { - Defaults.Toggle("Smooth color transitions", key: .useSmoothColorGradient) + Defaults.Toggle(String(localized: "Smooth color transitions"), key: .useSmoothColorGradient) .settingsHighlight(id: highlightID("Smooth color transitions")) } - Defaults.Toggle("Show percentages beside progress bars", key: .showProgressPercentages) + Defaults.Toggle(String(localized: "Show percentages beside progress bars"), key: .showProgressPercentages) .settingsHighlight(id: highlightID("Show percentages beside progress bars")) } header: { Text("Dynamic Island Progress Bars") @@ -2581,9 +2590,9 @@ struct HUD: View { .tag(ProgressBarStyle.segmented) } .settingsHighlight(id: highlightID("Progressbar style")) - Defaults.Toggle("Enable glowing effect", key: .systemEventIndicatorShadow) + Defaults.Toggle(String(localized: "Enable glowing effect"), key: .systemEventIndicatorShadow) .settingsHighlight(id: highlightID("Enable glowing effect")) - Defaults.Toggle("Use accent color", key: .systemEventIndicatorUseAccent) + Defaults.Toggle(String(localized: "Use accent color"), key: .systemEventIndicatorUseAccent) .settingsHighlight(id: highlightID("Use accent color")) } header: { HStack { @@ -3163,12 +3172,12 @@ struct Shelf: View { if !fullDiskAccessPermission.isAuthorized { Section { SettingsPermissionCallout( - title: "Full Disk Access required", - message: "Grant Full Disk Access so the Shelf can index and move files outside the app sandbox.", + title: String(localized: "Full Disk Access required"), + message: String(localized: "Grant Full Disk Access so the Shelf can index and move files outside the app sandbox."), icon: "externaldrive.fill", iconColor: .purple, - requestButtonTitle: "Request Full Disk Access", - openSettingsButtonTitle: "Open Privacy & Security", + requestButtonTitle: String(localized: "Request Full Disk Access"), + openSettingsButtonTitle: String(localized: "Open Privacy & Security"), requestAction: { fullDiskAccessPermission.requestAccessPrompt() }, openSettingsAction: { fullDiskAccessPermission.openSystemSettings() } ) @@ -3178,11 +3187,11 @@ struct Shelf: View { } Section { - Defaults.Toggle("Enable shelf", key: .dynamicShelf) + Defaults.Toggle(String(localized: "Enable shelf"), key: .dynamicShelf) .disabled(!fullDiskAccessPermission.isAuthorized) .settingsHighlight(id: highlightID("Enable shelf")) - Defaults.Toggle("Open shelf tab by default if items added", key: .openShelfByDefault) + Defaults.Toggle(String(localized: "Open shelf tab by default if items added"), key: .openShelfByDefault) .settingsHighlight(id: highlightID("Open shelf tab by default if items added")) Defaults.Toggle(key: .expandedDragDetection) { @@ -5043,7 +5052,7 @@ struct Shortcuts: View { var body: some View { Form { Section { - Defaults.Toggle("Enable global keyboard shortcuts", key: .enableShortcuts) + Defaults.Toggle(String(localized: "Enable global keyboard shortcuts"), key: .enableShortcuts) .settingsHighlight(id: highlightID("Enable global keyboard shortcuts")) } header: { Text("General") @@ -6702,12 +6711,12 @@ struct SettingsPermissionCallout: View { let openSettingsAction: () -> Void init( - title: String = "Accessibility permission required", + title: String = String(localized: "Accessibility permission required"), message: String, icon: String = "exclamationmark.triangle.fill", iconColor: Color = .orange, - requestButtonTitle: String = "Request Access", - openSettingsButtonTitle: String = "Open Settings", + requestButtonTitle: String = String(localized: "Request Access"), + openSettingsButtonTitle: String = String(localized: "Open Settings"), requestAction: @escaping () -> Void, openSettingsAction: @escaping () -> Void ) {