mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Fix strings detections and translates the entire "Shelf" section
This commit is contained in:
parent
7f72b8e496
commit
6f94b353e8
2 changed files with 137 additions and 29 deletions
|
|
@ -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" : {
|
"Actions" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"fr" : {
|
"fr" : {
|
||||||
|
|
@ -5663,7 +5683,7 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"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" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"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" : {
|
"circular" : {
|
||||||
"shouldTranslate" : false
|
"shouldTranslate" : false
|
||||||
},
|
},
|
||||||
|
"Circular" : {
|
||||||
|
"shouldTranslate" : false
|
||||||
|
},
|
||||||
"classic" : {
|
"classic" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -7587,7 +7610,7 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"state" : "translated",
|
||||||
"value" : "OSD personalizado"
|
"value" : "OSD Customizado"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -7599,7 +7622,7 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"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" : {
|
"Dynamic Island Progress Bars" : {
|
||||||
"comment" : "A section header that lists the options for customizing the appearance of the progress bars displayed by Dynamic Island.",
|
"comment" : "A section header that lists the options for customizing the appearance of the progress bars displayed by Dynamic Island.",
|
||||||
"isCommentAutoGenerated" : true,
|
"isCommentAutoGenerated" : true,
|
||||||
|
|
@ -10526,7 +10555,7 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"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" : {
|
"Fully charged" : {
|
||||||
"comment" : "Charging fallback label when already charged",
|
"comment" : "Charging fallback label when already charged",
|
||||||
"localizations" : {
|
"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" : {
|
"graph" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"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" : {
|
"Open shelf tab by default if items added" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"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" : {
|
"Play lock/unlock sounds" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -19336,7 +19415,7 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"state" : "translated",
|
||||||
"value" : "Remova da prateleira depois de arrastar"
|
"value" : "Remova da mesa depois de arrastar"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -19362,7 +19441,17 @@
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"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" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "translated",
|
"state" : "translated",
|
||||||
"value" : "Prateleira"
|
"value" : "Mesa"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ru" : {
|
"ru" : {
|
||||||
|
|
@ -24645,6 +24734,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Vertical Bar" : {
|
||||||
|
"localizations" : {
|
||||||
|
"pt-BR" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Barra Vertical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Vertical:" : {
|
"Vertical:" : {
|
||||||
"extractionState" : "stale",
|
"extractionState" : "stale",
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
|
|
|
||||||
|
|
@ -2014,6 +2014,15 @@ private struct HUDAndOSDSettingsView: View {
|
||||||
case circular = "Circular"
|
case circular = "Circular"
|
||||||
|
|
||||||
var id: String { rawValue }
|
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 {
|
private var paneBackgroundColor: Color {
|
||||||
|
|
@ -2024,7 +2033,7 @@ private struct HUDAndOSDSettingsView: View {
|
||||||
VStack(spacing: 20) {
|
VStack(spacing: 20) {
|
||||||
HStack(spacing: 16) {
|
HStack(spacing: 16) {
|
||||||
HUDSelectionCard(
|
HUDSelectionCard(
|
||||||
title: "Dynamic Island",
|
title: String(localized: "Dynamic Island"),
|
||||||
isSelected: selectedTab == .hud,
|
isSelected: selectedTab == .hud,
|
||||||
action: {
|
action: {
|
||||||
selectedTab = .hud
|
selectedTab = .hud
|
||||||
|
|
@ -2064,7 +2073,7 @@ private struct HUDAndOSDSettingsView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
HUDSelectionCard(
|
HUDSelectionCard(
|
||||||
title: "Custom OSD",
|
title: String(localized: "Custom OSD"),
|
||||||
isSelected: selectedTab == .osd,
|
isSelected: selectedTab == .osd,
|
||||||
action: {
|
action: {
|
||||||
selectedTab = .osd
|
selectedTab = .osd
|
||||||
|
|
@ -2106,7 +2115,7 @@ private struct HUDAndOSDSettingsView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
HUDSelectionCard(
|
HUDSelectionCard(
|
||||||
title: "Vertical Bar",
|
title: String(localized: "Vertical Bar"),
|
||||||
isSelected: selectedTab == .vertical,
|
isSelected: selectedTab == .vertical,
|
||||||
action: {
|
action: {
|
||||||
selectedTab = .vertical
|
selectedTab = .vertical
|
||||||
|
|
@ -2149,7 +2158,7 @@ private struct HUDAndOSDSettingsView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
HUDSelectionCard(
|
HUDSelectionCard(
|
||||||
title: "Circular",
|
title: String(localized: "Circular"),
|
||||||
isSelected: selectedTab == .circular,
|
isSelected: selectedTab == .circular,
|
||||||
action: {
|
action: {
|
||||||
selectedTab = .circular
|
selectedTab = .circular
|
||||||
|
|
@ -2489,7 +2498,7 @@ struct HUD: View {
|
||||||
if !hasAccessibilityPermission {
|
if !hasAccessibilityPermission {
|
||||||
Section {
|
Section {
|
||||||
SettingsPermissionCallout(
|
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() },
|
requestAction: { accessibilityPermission.requestAuthorizationPrompt() },
|
||||||
openSettingsAction: { accessibilityPermission.openSystemSettings() }
|
openSettingsAction: { accessibilityPermission.openSystemSettings() }
|
||||||
)
|
)
|
||||||
|
|
@ -2515,7 +2524,7 @@ struct HUD: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
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"))
|
.settingsHighlight(id: highlightID("Play feedback when volume is changed"))
|
||||||
.help("Plays the supplied feedback clip whenever you press the hardware volume keys.")
|
.help("Plays the supplied feedback clip whenever you press the hardware volume keys.")
|
||||||
} header: {
|
} header: {
|
||||||
|
|
@ -2527,16 +2536,16 @@ struct HUD: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
Defaults.Toggle("Color-coded volume display", key: .useColorCodedVolumeDisplay)
|
Defaults.Toggle(String(localized: "Color-coded volume display"), key: .useColorCodedVolumeDisplay)
|
||||||
.disabled(colorCodingDisabled)
|
.disabled(colorCodingDisabled)
|
||||||
.settingsHighlight(id: highlightID("Color-coded volume display"))
|
.settingsHighlight(id: highlightID("Color-coded volume display"))
|
||||||
|
|
||||||
if !colorCodingDisabled && (Defaults[.useColorCodedBatteryDisplay] || Defaults[.useColorCodedVolumeDisplay]) {
|
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"))
|
.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"))
|
.settingsHighlight(id: highlightID("Show percentages beside progress bars"))
|
||||||
} header: {
|
} header: {
|
||||||
Text("Dynamic Island Progress Bars")
|
Text("Dynamic Island Progress Bars")
|
||||||
|
|
@ -2581,9 +2590,9 @@ struct HUD: View {
|
||||||
.tag(ProgressBarStyle.segmented)
|
.tag(ProgressBarStyle.segmented)
|
||||||
}
|
}
|
||||||
.settingsHighlight(id: highlightID("Progressbar style"))
|
.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"))
|
.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"))
|
.settingsHighlight(id: highlightID("Use accent color"))
|
||||||
} header: {
|
} header: {
|
||||||
HStack {
|
HStack {
|
||||||
|
|
@ -3163,12 +3172,12 @@ struct Shelf: View {
|
||||||
if !fullDiskAccessPermission.isAuthorized {
|
if !fullDiskAccessPermission.isAuthorized {
|
||||||
Section {
|
Section {
|
||||||
SettingsPermissionCallout(
|
SettingsPermissionCallout(
|
||||||
title: "Full Disk Access required",
|
title: String(localized: "Full Disk Access required"),
|
||||||
message: "Grant Full Disk Access so the Shelf can index and move files outside the app sandbox.",
|
message: String(localized: "Grant Full Disk Access so the Shelf can index and move files outside the app sandbox."),
|
||||||
icon: "externaldrive.fill",
|
icon: "externaldrive.fill",
|
||||||
iconColor: .purple,
|
iconColor: .purple,
|
||||||
requestButtonTitle: "Request Full Disk Access",
|
requestButtonTitle: String(localized: "Request Full Disk Access"),
|
||||||
openSettingsButtonTitle: "Open Privacy & Security",
|
openSettingsButtonTitle: String(localized: "Open Privacy & Security"),
|
||||||
requestAction: { fullDiskAccessPermission.requestAccessPrompt() },
|
requestAction: { fullDiskAccessPermission.requestAccessPrompt() },
|
||||||
openSettingsAction: { fullDiskAccessPermission.openSystemSettings() }
|
openSettingsAction: { fullDiskAccessPermission.openSystemSettings() }
|
||||||
)
|
)
|
||||||
|
|
@ -3178,11 +3187,11 @@ struct Shelf: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
Defaults.Toggle("Enable shelf", key: .dynamicShelf)
|
Defaults.Toggle(String(localized: "Enable shelf"), key: .dynamicShelf)
|
||||||
.disabled(!fullDiskAccessPermission.isAuthorized)
|
.disabled(!fullDiskAccessPermission.isAuthorized)
|
||||||
.settingsHighlight(id: highlightID("Enable shelf"))
|
.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"))
|
.settingsHighlight(id: highlightID("Open shelf tab by default if items added"))
|
||||||
|
|
||||||
Defaults.Toggle(key: .expandedDragDetection) {
|
Defaults.Toggle(key: .expandedDragDetection) {
|
||||||
|
|
@ -5043,7 +5052,7 @@ struct Shortcuts: View {
|
||||||
var body: some View {
|
var body: some View {
|
||||||
Form {
|
Form {
|
||||||
Section {
|
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"))
|
.settingsHighlight(id: highlightID("Enable global keyboard shortcuts"))
|
||||||
} header: {
|
} header: {
|
||||||
Text("General")
|
Text("General")
|
||||||
|
|
@ -6702,12 +6711,12 @@ struct SettingsPermissionCallout: View {
|
||||||
let openSettingsAction: () -> Void
|
let openSettingsAction: () -> Void
|
||||||
|
|
||||||
init(
|
init(
|
||||||
title: String = "Accessibility permission required",
|
title: String = String(localized: "Accessibility permission required"),
|
||||||
message: String,
|
message: String,
|
||||||
icon: String = "exclamationmark.triangle.fill",
|
icon: String = "exclamationmark.triangle.fill",
|
||||||
iconColor: Color = .orange,
|
iconColor: Color = .orange,
|
||||||
requestButtonTitle: String = "Request Access",
|
requestButtonTitle: String = String(localized: "Request Access"),
|
||||||
openSettingsButtonTitle: String = "Open Settings",
|
openSettingsButtonTitle: String = String(localized: "Open Settings"),
|
||||||
requestAction: @escaping () -> Void,
|
requestAction: @escaping () -> Void,
|
||||||
openSettingsAction: @escaping () -> Void
|
openSettingsAction: @escaping () -> Void
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue