Fix strings detections and translates the entire "Appearance" section and review some translations

This commit is contained in:
Felipe Giacomini Cocco 2026-02-05 19:02:30 -03:00
commit 5c4415c770
3 changed files with 245 additions and 78 deletions

View file

@ -99,7 +99,8 @@
"value" : ""
}
}
}
},
"shouldTranslate" : false
},
" – %lld" : {
"localizations" : {
@ -2374,6 +2375,16 @@
}
}
},
"Adjusts the lock screen timer widget width without affecting button sizing." : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ajusta a largura do widget do temporizador da tela de bloqueio sem afetar o tamanho do botão."
}
}
}
},
"ai" : {
"localizations" : {
"pt-BR" : {
@ -3530,6 +3541,16 @@
}
}
},
"AQI" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "IQA"
}
}
}
},
"Are you sure you want to delete \"%@\"?" : {
"comment" : "A confirmation prompt asking the user to confirm the deletion of a custom idle animation. The placeholder text inside the quotation marks should be replaced with the name of the animation.",
"localizations" : {
@ -5492,8 +5513,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "chime"
"state" : "translated",
"value" : "toque de notificação"
}
}
}
@ -5882,6 +5903,16 @@
}
}
},
"Classic" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Clássico"
}
}
}
},
"Classic mode keeps the original translucent black background." : {
"comment" : "A description of the \"Classic mode\" option in the Lock Screen Integration settings.",
"isCommentAutoGenerated" : true,
@ -8458,8 +8489,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Exibe o estado atual do Foco acima da cápsula climática sempre que a detecção de Foco está ativada."
"state" : "translated",
"value" : "Exibe o estado atual do Foco acima da cápsula de clima quando a detecção de Foco estiver ativada."
}
}
}
@ -8948,6 +8979,9 @@
}
}
},
"EAQI" : {
"shouldTranslate" : false
},
"Easily copy, store, and manage your most-used content. Upgrade now for advanced features like multi-item storage and quick access!" : {
"localizations" : {
"ar" : {
@ -9510,8 +9544,8 @@
},
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Enable haptics"
"state" : "translated",
"value" : "Ativar feedback tátil"
}
},
"ru" : {
@ -9812,8 +9846,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Ative a cápsula da bateria e configure seu layout."
"state" : "translated",
"value" : "Ative a cápsula da bateria e configura seu layout."
}
}
}
@ -9914,8 +9948,8 @@
},
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Utilização do motor"
"state" : "translated",
"value" : "Utilização da GPU"
}
}
}
@ -10576,8 +10610,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "eyedropper"
"state" : "translated",
"value" : "conta-gotas"
}
}
}
@ -11441,6 +11475,16 @@
}
}
},
"Glass" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vidro"
}
}
}
},
"Glass mode" : {
"localizations" : {
"pt-BR" : {
@ -12897,8 +12941,8 @@
},
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Inline"
"state" : "translated",
"value" : "em linha"
}
},
"ru" : {
@ -12931,8 +12975,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Inline snapshot preview"
"state" : "translated",
"value" : "Pré-visualização de snapshot em linha"
}
}
}
@ -13056,8 +13100,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Os rótulos são forçados a compactar o texto ligado/desligado enquanto o modo brief toast está ativado."
"state" : "translated",
"value" : "Os rótulos usam textos compactos de ligado/desligado enquanto o modo de notificação breve estiver ativado."
}
}
}
@ -13691,7 +13735,8 @@
"value" : "Lottie JSON 链接"
}
}
}
},
"shouldTranslate" : false
},
"Low" : {
"comment" : "Low battery level label",
@ -14009,8 +14054,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "marquee"
"state" : "translated",
"value" : "texto rolante"
}
}
}
@ -14803,6 +14848,16 @@
}
}
},
"Media Panel Width" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Largura do Painel de Mídia"
}
}
}
},
"Media playback live activity" : {
"localizations" : {
"ar" : {
@ -15930,6 +15985,16 @@
}
}
},
"Music" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Música"
}
}
}
},
"Music panel variant" : {
"localizations" : {
"pt-BR" : {
@ -17923,7 +17988,8 @@
"value" : "open meteo"
}
}
}
},
"shouldTranslate" : false
},
"Open Model Settings" : {
"localizations" : {
@ -19602,6 +19668,26 @@
}
}
},
"Reset Media Width" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir a largura da mídia"
}
}
}
},
"Reset Music" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir Música"
}
}
}
},
"Reset Notch Experiences" : {
"comment" : "A menu item that resets all notch experiences for a particular app.",
"isCommentAutoGenerated" : true,
@ -19626,6 +19712,26 @@
}
}
},
"Reset Timer" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir Temporizador"
}
}
}
},
"Reset Timer Width" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir Largura do Temporizador"
}
}
}
},
"Reset to Default" : {
"localizations" : {
"fr" : {
@ -19654,6 +19760,16 @@
}
}
},
"Reset Weather" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir Tempo"
}
}
}
},
"Reset Width" : {
"comment" : "A button to reset the expanded notch width to its default value.",
"isCommentAutoGenerated" : true,
@ -19999,8 +20115,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Screen Padding: %lldpx"
"state" : "translated",
"value" : "Espaçamento da tela: %lldpx"
}
}
}
@ -21240,6 +21356,16 @@
}
}
},
"Show focus widget" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Redefinir Widget de Foco"
}
}
}
},
"Show full event titles" : {
"comment" : "A toggle that shows or hides the full event titles in the calendar view",
"isCommentAutoGenerated" : true,
@ -21616,6 +21742,16 @@
}
}
},
"Show sunrise time" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Mostrar a hora do nascer do sol"
}
}
}
},
"Show the active Focus name inside the indicator." : {
"comment" : "A description of why the \"Show Focus Label\" toggle is disabled when the \"Show Focus as brief toast\" toggle is enabled.",
"isCommentAutoGenerated" : true,
@ -21674,6 +21810,16 @@
}
}
},
"Shrinks the lock screen media panel while keeping the expanded view full width." : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Encolhe o painel de mídia da tela de bloqueio, mantendo a largura total da visualização expandida."
}
}
}
},
"Size: %lldpx" : {
"localizations" : {
"pt-BR" : {
@ -22060,8 +22206,8 @@
},
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Sneak Peek Style"
"state" : "translated",
"value" : "Estilo de prévia rápida"
}
},
"ru" : {
@ -23447,8 +23593,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Timer glass material"
"state" : "translated",
"value" : "Material do vidro do temporizador"
}
}
}
@ -23459,8 +23605,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Timer liquid mode"
"state" : "translated",
"value" : "Modo fluido do temporizador"
}
}
}
@ -23567,6 +23713,16 @@
}
}
},
"Timer Widget Width" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Largura do Widget do Temporizador"
}
}
}
},
"Title" : {
"comment" : "A label for the title input field in the note editor.",
"isCommentAutoGenerated" : true,
@ -24525,8 +24681,8 @@
},
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Use o espectrograma visualizador de música"
"state" : "translated",
"value" : "Usar espectrograma no visualizador de música"
}
},
"ru" : {
@ -24639,8 +24795,8 @@
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Usa o tratamento de desfoque fosco enquanto o modo de vidro está ativado."
"state" : "translated",
"value" : "Aplica o efeito de desfoque fosco quando o modo vidro está ativado."
}
}
}
@ -25489,14 +25645,7 @@
}
},
"wttr" : {
"localizations" : {
"pt-BR" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "wttr"
}
}
}
"shouldTranslate" : false
},
"You" : {
"localizations" : {

View file

@ -4189,9 +4189,9 @@ struct LockScreenSettings: View {
var body: some View {
Form {
Section {
Defaults.Toggle("Enable lock screen live activity", key: .enableLockScreenLiveActivity)
Defaults.Toggle(String(localized: "Enable lock screen live activity"), key: .enableLockScreenLiveActivity)
.settingsHighlight(id: highlightID("Enable lock screen live activity"))
Defaults.Toggle("Play lock/unlock sounds", key: .enableLockSounds)
Defaults.Toggle(String(localized: "Play lock/unlock sounds"), key: .enableLockSounds)
.settingsHighlight(id: highlightID("Play lock/unlock sounds"))
} header: {
Text("Live Activity & Feedback")
@ -4246,12 +4246,12 @@ struct LockScreenSettings: View {
}
Section {
Defaults.Toggle("Show lock screen media panel", key: .enableLockScreenMediaWidget)
Defaults.Toggle(String(localized: "Show lock screen media panel"), key: .enableLockScreenMediaWidget)
.settingsHighlight(id: highlightID("Show lock screen media panel"))
Defaults.Toggle("Show media app icon", key: .lockScreenShowAppIcon)
Defaults.Toggle(String(localized: "Show media app icon"), key: .lockScreenShowAppIcon)
.disabled(!enableLockScreenMediaWidget)
.settingsHighlight(id: highlightID("Show media app icon"))
Defaults.Toggle("Show panel border", key: .lockScreenPanelShowsBorder)
Defaults.Toggle(String(localized: "Show panel border"), key: .lockScreenPanelShowsBorder)
.disabled(!enableLockScreenMediaWidget)
.settingsHighlight(id: highlightID("Show panel border"))
if lockScreenGlassCustomizationMode == .customLiquid {
@ -4287,11 +4287,11 @@ struct LockScreenSettings: View {
.opacity(showStandardMediaControls ? 1 : 0.5)
Section {
Defaults.Toggle("Show lock screen timer", key: .enableLockScreenTimerWidget)
Defaults.Toggle(String(localized: "Show lock screen timer"), key: .enableLockScreenTimerWidget)
.settingsHighlight(id: highlightID("Show lock screen timer"))
Picker("Timer surface", selection: timerSurfaceBinding) {
ForEach(LockScreenTimerSurfaceMode.allCases) { mode in
Text(mode.rawValue).tag(mode)
Text(mode.localizedName).tag(mode)
}
}
.pickerStyle(.segmented)
@ -4349,13 +4349,13 @@ struct LockScreenSettings: View {
}
Section {
Defaults.Toggle("Show lock screen weather", key: .enableLockScreenWeatherWidget)
Defaults.Toggle(String(localized: "Show lock screen weather"), key: .enableLockScreenWeatherWidget)
.settingsHighlight(id: highlightID("Show lock screen weather"))
if enableLockScreenWeatherWidget {
Picker("Layout", selection: $lockScreenWeatherWidgetStyle) {
ForEach(LockScreenWeatherWidgetStyle.allCases) { style in
Text(style.rawValue).tag(style)
Text(style.localizedName).tag(style)
}
}
.pickerStyle(.segmented)
@ -4377,15 +4377,15 @@ struct LockScreenSettings: View {
.pickerStyle(.segmented)
.settingsHighlight(id: highlightID("Temperature unit"))
Defaults.Toggle("Show location label", key: .lockScreenWeatherShowsLocation)
Defaults.Toggle(String(localized: "Show location label"), key: .lockScreenWeatherShowsLocation)
.disabled(lockScreenWeatherWidgetStyle == .circular)
.settingsHighlight(id: highlightID("Show location label"))
Defaults.Toggle("Show sunrise time", key: .lockScreenWeatherShowsSunrise)
Defaults.Toggle(String(localized: "Show sunrise time"), key: .lockScreenWeatherShowsSunrise)
.disabled(lockScreenWeatherWidgetStyle != .inline)
.settingsHighlight(id: highlightID("Show sunrise time"))
Defaults.Toggle("Show AQI widget", key: .lockScreenWeatherShowsAQI)
Defaults.Toggle(String(localized: "Show AQI widget"), key: .lockScreenWeatherShowsAQI)
.disabled(!lockScreenWeatherProviderSource.supportsAirQuality)
.settingsHighlight(id: highlightID("Show AQI widget"))
@ -4405,7 +4405,7 @@ struct LockScreenSettings: View {
.foregroundStyle(.secondary)
}
Defaults.Toggle("Use colored gauges", key: .lockScreenWeatherUsesGaugeTint)
Defaults.Toggle(String(localized: "Use colored gauges"), key: .lockScreenWeatherUsesGaugeTint)
.settingsHighlight(id: highlightID("Use colored gauges"))
}
} header: {
@ -4416,22 +4416,22 @@ struct LockScreenSettings: View {
if BatteryActivityManager.shared.hasBattery() {
Section {
Defaults.Toggle("Show battery indicator", key: .lockScreenBatteryShowsBatteryGauge)
Defaults.Toggle(String(localized: "Show battery indicator"), key: .lockScreenBatteryShowsBatteryGauge)
.settingsHighlight(id: highlightID("Show battery indicator"))
if lockScreenWeatherShowsBatteryGauge {
Defaults.Toggle("Use MacBook icon when on battery", key: .lockScreenBatteryUsesLaptopSymbol)
Defaults.Toggle(String(localized: "Use MacBook icon when on battery"), key: .lockScreenBatteryUsesLaptopSymbol)
.settingsHighlight(id: highlightID("Use MacBook icon when on battery"))
Defaults.Toggle("Show charging status", key: .lockScreenBatteryShowsCharging)
Defaults.Toggle(String(localized: "Show charging status"), key: .lockScreenBatteryShowsCharging)
.settingsHighlight(id: highlightID("Show charging status"))
if lockScreenWeatherShowsCharging {
Defaults.Toggle("Show charging percentage", key: .lockScreenBatteryShowsChargingPercentage)
Defaults.Toggle(String(localized: "Show charging percentage"), key: .lockScreenBatteryShowsChargingPercentage)
.settingsHighlight(id: highlightID("Show charging percentage"))
}
Defaults.Toggle("Show Bluetooth battery", key: .lockScreenBatteryShowsBluetooth)
Defaults.Toggle(String(localized: "Show Bluetooth battery"), key: .lockScreenBatteryShowsBluetooth)
.settingsHighlight(id: highlightID("Show Bluetooth battery"))
}
} header: {
@ -4442,7 +4442,7 @@ struct LockScreenSettings: View {
}
Section {
Defaults.Toggle("Show focus widget", key: .enableLockScreenFocusWidget)
Defaults.Toggle(String(localized: "Show focus widget"), key: .enableLockScreenFocusWidget)
.settingsHighlight(id: highlightID("Show focus widget"))
} header: {
Text("Focus Widget")
@ -4593,9 +4593,9 @@ private struct LockScreenPositioningControls: View {
HStack(alignment: .top, spacing: 24) {
offsetColumn(
title: "Weather",
title: String(localized: "Weather"),
value: weatherOffset,
resetTitle: "Reset Weather",
resetTitle: String(localized: "Reset Weather"),
resetAction: resetWeatherOffset
)
@ -4603,9 +4603,9 @@ private struct LockScreenPositioningControls: View {
.frame(height: 64)
offsetColumn(
title: "Timer",
title: String(localized: "Timer"),
value: timerOffset,
resetTitle: "Reset Timer",
resetTitle: String(localized: "Reset Timer"),
resetAction: resetTimerOffset
)
@ -4613,9 +4613,9 @@ private struct LockScreenPositioningControls: View {
.frame(height: 64)
offsetColumn(
title: "Music",
title: String(localized: "Music"),
value: musicOffset,
resetTitle: "Reset Music",
resetTitle: String(localized: "Reset Music"),
resetAction: resetMusicOffset
)
@ -4627,21 +4627,21 @@ private struct LockScreenPositioningControls: View {
VStack(alignment: .leading, spacing: 16) {
widthSlider(
title: "Media Panel Width",
title: String(localized: "Media Panel Width"),
value: musicWidthBinding,
range: musicWidthRange,
resetTitle: "Reset Media Width",
resetTitle: String(localized: "Reset Media Width"),
resetAction: resetMusicWidth,
helpText: "Shrinks the lock screen media panel while keeping the expanded view full width."
helpText: String(localized: "Shrinks the lock screen media panel while keeping the expanded view full width.")
)
widthSlider(
title: "Timer Widget Width",
title: String(localized: "Timer Widget Width"),
value: timerWidthBinding,
range: timerWidthRange,
resetTitle: "Reset Timer Width",
resetTitle: String(localized: "Reset Timer Width"),
resetAction: resetTimerWidth,
helpText: "Adjusts the lock screen timer widget width without affecting button sizing."
helpText: String(localized: "Adjusts the lock screen timer widget width without affecting button sizing.")
)
}
} header: {

View file

@ -162,6 +162,15 @@ enum LockScreenTimerSurfaceMode: String, CaseIterable, Defaults.Serializable, Id
case glass = "Glass"
var id: String { rawValue }
var localizedName: String {
switch self {
case .classic:
return String(localized: "Classic")
case .glass:
return String(localized: "Glass")
}
}
}
enum LockScreenWeatherWidgetStyle: String, CaseIterable, Defaults.Serializable, Identifiable {
@ -169,6 +178,15 @@ enum LockScreenWeatherWidgetStyle: String, CaseIterable, Defaults.Serializable,
case circular = "Circular"
var id: String { rawValue }
var localizedName: String {
switch self {
case .inline:
return String(localized: "Inline")
case .circular:
return String(localized: "Circular")
}
}
}
enum LockScreenWeatherProviderSource: String, CaseIterable, Defaults.Serializable, Identifiable {
@ -223,18 +241,18 @@ enum LockScreenWeatherAirQualityScale: String, CaseIterable, Defaults.Serializab
var compactLabel: String {
switch self {
case .us:
return "AQI"
return String(localized: "AQI")
case .european:
return "EAQI"
return String(localized: "EAQI")
}
}
var accessibilityLabel: String {
switch self {
case .us:
return "AQI"
return String(localized: "AQI")
case .european:
return "EAQI"
return String(localized: "EAQI")
}
}