mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Fix strings detections and translates the entire "Appearance" section and review some translations
This commit is contained in:
parent
10d421b25b
commit
5c4415c770
3 changed files with 245 additions and 78 deletions
|
|
@ -99,7 +99,8 @@
|
||||||
"value" : ""
|
"value" : ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"shouldTranslate" : false
|
||||||
},
|
},
|
||||||
" – %lld" : {
|
" – %lld" : {
|
||||||
"localizations" : {
|
"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" : {
|
"ai" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -3530,6 +3541,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"AQI" : {
|
||||||
|
"localizations" : {
|
||||||
|
"pt-BR" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "IQA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Are you sure you want to delete \"%@\"?" : {
|
"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.",
|
"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" : {
|
"localizations" : {
|
||||||
|
|
@ -5492,8 +5513,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "chime"
|
"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." : {
|
"Classic mode keeps the original translucent black background." : {
|
||||||
"comment" : "A description of the \"Classic mode\" option in the Lock Screen Integration settings.",
|
"comment" : "A description of the \"Classic mode\" option in the Lock Screen Integration settings.",
|
||||||
"isCommentAutoGenerated" : true,
|
"isCommentAutoGenerated" : true,
|
||||||
|
|
@ -8458,8 +8489,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Exibe o estado atual do Foco acima da cápsula climática sempre que a detecção de Foco está ativada."
|
"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!" : {
|
"Easily copy, store, and manage your most-used content. Upgrade now for advanced features like multi-item storage and quick access!" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"ar" : {
|
"ar" : {
|
||||||
|
|
@ -9510,8 +9544,8 @@
|
||||||
},
|
},
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Enable haptics"
|
"value" : "Ativar feedback tátil"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ru" : {
|
"ru" : {
|
||||||
|
|
@ -9812,8 +9846,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Ative a cápsula da bateria e configure seu layout."
|
"value" : "Ative a cápsula da bateria e configura seu layout."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9914,8 +9948,8 @@
|
||||||
},
|
},
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Utilização do motor"
|
"value" : "Utilização da GPU"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -10576,8 +10610,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "eyedropper"
|
"value" : "conta-gotas"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -11441,6 +11475,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Glass" : {
|
||||||
|
"localizations" : {
|
||||||
|
"pt-BR" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Vidro"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Glass mode" : {
|
"Glass mode" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -12897,8 +12941,8 @@
|
||||||
},
|
},
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Inline"
|
"value" : "em linha"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ru" : {
|
"ru" : {
|
||||||
|
|
@ -12931,8 +12975,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Inline snapshot preview"
|
"value" : "Pré-visualização de snapshot em linha"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13056,8 +13100,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Os rótulos são forçados a compactar o texto ligado/desligado enquanto o modo brief toast está ativado."
|
"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 链接"
|
"value" : "Lottie JSON 链接"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"shouldTranslate" : false
|
||||||
},
|
},
|
||||||
"Low" : {
|
"Low" : {
|
||||||
"comment" : "Low battery level label",
|
"comment" : "Low battery level label",
|
||||||
|
|
@ -14009,8 +14054,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "marquee"
|
"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" : {
|
"Media playback live activity" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"ar" : {
|
"ar" : {
|
||||||
|
|
@ -15930,6 +15985,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Music" : {
|
||||||
|
"localizations" : {
|
||||||
|
"pt-BR" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Música"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Music panel variant" : {
|
"Music panel variant" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -17923,7 +17988,8 @@
|
||||||
"value" : "open meteo"
|
"value" : "open meteo"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"shouldTranslate" : false
|
||||||
},
|
},
|
||||||
"Open Model Settings" : {
|
"Open Model Settings" : {
|
||||||
"localizations" : {
|
"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" : {
|
"Reset Notch Experiences" : {
|
||||||
"comment" : "A menu item that resets all notch experiences for a particular app.",
|
"comment" : "A menu item that resets all notch experiences for a particular app.",
|
||||||
"isCommentAutoGenerated" : true,
|
"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" : {
|
"Reset to Default" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"fr" : {
|
"fr" : {
|
||||||
|
|
@ -19654,6 +19760,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Reset Weather" : {
|
||||||
|
"localizations" : {
|
||||||
|
"pt-BR" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "Redefinir Tempo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Reset Width" : {
|
"Reset Width" : {
|
||||||
"comment" : "A button to reset the expanded notch width to its default value.",
|
"comment" : "A button to reset the expanded notch width to its default value.",
|
||||||
"isCommentAutoGenerated" : true,
|
"isCommentAutoGenerated" : true,
|
||||||
|
|
@ -19999,8 +20115,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Screen Padding: %lldpx"
|
"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" : {
|
"Show full event titles" : {
|
||||||
"comment" : "A toggle that shows or hides the full event titles in the calendar view",
|
"comment" : "A toggle that shows or hides the full event titles in the calendar view",
|
||||||
"isCommentAutoGenerated" : true,
|
"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." : {
|
"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.",
|
"comment" : "A description of why the \"Show Focus Label\" toggle is disabled when the \"Show Focus as brief toast\" toggle is enabled.",
|
||||||
"isCommentAutoGenerated" : true,
|
"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" : {
|
"Size: %lldpx" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
|
|
@ -22060,8 +22206,8 @@
|
||||||
},
|
},
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Sneak Peek Style"
|
"value" : "Estilo de prévia rápida"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ru" : {
|
"ru" : {
|
||||||
|
|
@ -23447,8 +23593,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Timer glass material"
|
"value" : "Material do vidro do temporizador"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -23459,8 +23605,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Timer liquid mode"
|
"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" : {
|
"Title" : {
|
||||||
"comment" : "A label for the title input field in the note editor.",
|
"comment" : "A label for the title input field in the note editor.",
|
||||||
"isCommentAutoGenerated" : true,
|
"isCommentAutoGenerated" : true,
|
||||||
|
|
@ -24525,8 +24681,8 @@
|
||||||
},
|
},
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Use o espectrograma visualizador de música"
|
"value" : "Usar espectrograma no visualizador de música"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ru" : {
|
"ru" : {
|
||||||
|
|
@ -24639,8 +24795,8 @@
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"pt-BR" : {
|
"pt-BR" : {
|
||||||
"stringUnit" : {
|
"stringUnit" : {
|
||||||
"state" : "needs_review",
|
"state" : "translated",
|
||||||
"value" : "Usa o tratamento de desfoque fosco enquanto o modo de vidro está ativado."
|
"value" : "Aplica o efeito de desfoque fosco quando o modo vidro está ativado."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -25489,14 +25645,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"wttr" : {
|
"wttr" : {
|
||||||
"localizations" : {
|
"shouldTranslate" : false
|
||||||
"pt-BR" : {
|
|
||||||
"stringUnit" : {
|
|
||||||
"state" : "needs_review",
|
|
||||||
"value" : "wttr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"You" : {
|
"You" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
|
|
|
||||||
|
|
@ -4189,9 +4189,9 @@ struct LockScreenSettings: View {
|
||||||
var body: some View {
|
var body: some View {
|
||||||
Form {
|
Form {
|
||||||
Section {
|
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"))
|
.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"))
|
.settingsHighlight(id: highlightID("Play lock/unlock sounds"))
|
||||||
} header: {
|
} header: {
|
||||||
Text("Live Activity & Feedback")
|
Text("Live Activity & Feedback")
|
||||||
|
|
@ -4246,12 +4246,12 @@ struct LockScreenSettings: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
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"))
|
.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)
|
.disabled(!enableLockScreenMediaWidget)
|
||||||
.settingsHighlight(id: highlightID("Show media app icon"))
|
.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)
|
.disabled(!enableLockScreenMediaWidget)
|
||||||
.settingsHighlight(id: highlightID("Show panel border"))
|
.settingsHighlight(id: highlightID("Show panel border"))
|
||||||
if lockScreenGlassCustomizationMode == .customLiquid {
|
if lockScreenGlassCustomizationMode == .customLiquid {
|
||||||
|
|
@ -4287,11 +4287,11 @@ struct LockScreenSettings: View {
|
||||||
.opacity(showStandardMediaControls ? 1 : 0.5)
|
.opacity(showStandardMediaControls ? 1 : 0.5)
|
||||||
|
|
||||||
Section {
|
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"))
|
.settingsHighlight(id: highlightID("Show lock screen timer"))
|
||||||
Picker("Timer surface", selection: timerSurfaceBinding) {
|
Picker("Timer surface", selection: timerSurfaceBinding) {
|
||||||
ForEach(LockScreenTimerSurfaceMode.allCases) { mode in
|
ForEach(LockScreenTimerSurfaceMode.allCases) { mode in
|
||||||
Text(mode.rawValue).tag(mode)
|
Text(mode.localizedName).tag(mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.pickerStyle(.segmented)
|
.pickerStyle(.segmented)
|
||||||
|
|
@ -4349,13 +4349,13 @@ struct LockScreenSettings: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
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"))
|
.settingsHighlight(id: highlightID("Show lock screen weather"))
|
||||||
|
|
||||||
if enableLockScreenWeatherWidget {
|
if enableLockScreenWeatherWidget {
|
||||||
Picker("Layout", selection: $lockScreenWeatherWidgetStyle) {
|
Picker("Layout", selection: $lockScreenWeatherWidgetStyle) {
|
||||||
ForEach(LockScreenWeatherWidgetStyle.allCases) { style in
|
ForEach(LockScreenWeatherWidgetStyle.allCases) { style in
|
||||||
Text(style.rawValue).tag(style)
|
Text(style.localizedName).tag(style)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.pickerStyle(.segmented)
|
.pickerStyle(.segmented)
|
||||||
|
|
@ -4377,15 +4377,15 @@ struct LockScreenSettings: View {
|
||||||
.pickerStyle(.segmented)
|
.pickerStyle(.segmented)
|
||||||
.settingsHighlight(id: highlightID("Temperature unit"))
|
.settingsHighlight(id: highlightID("Temperature unit"))
|
||||||
|
|
||||||
Defaults.Toggle("Show location label", key: .lockScreenWeatherShowsLocation)
|
Defaults.Toggle(String(localized: "Show location label"), key: .lockScreenWeatherShowsLocation)
|
||||||
.disabled(lockScreenWeatherWidgetStyle == .circular)
|
.disabled(lockScreenWeatherWidgetStyle == .circular)
|
||||||
.settingsHighlight(id: highlightID("Show location label"))
|
.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)
|
.disabled(lockScreenWeatherWidgetStyle != .inline)
|
||||||
.settingsHighlight(id: highlightID("Show sunrise time"))
|
.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)
|
.disabled(!lockScreenWeatherProviderSource.supportsAirQuality)
|
||||||
.settingsHighlight(id: highlightID("Show AQI widget"))
|
.settingsHighlight(id: highlightID("Show AQI widget"))
|
||||||
|
|
||||||
|
|
@ -4405,7 +4405,7 @@ struct LockScreenSettings: View {
|
||||||
.foregroundStyle(.secondary)
|
.foregroundStyle(.secondary)
|
||||||
}
|
}
|
||||||
|
|
||||||
Defaults.Toggle("Use colored gauges", key: .lockScreenWeatherUsesGaugeTint)
|
Defaults.Toggle(String(localized: "Use colored gauges"), key: .lockScreenWeatherUsesGaugeTint)
|
||||||
.settingsHighlight(id: highlightID("Use colored gauges"))
|
.settingsHighlight(id: highlightID("Use colored gauges"))
|
||||||
}
|
}
|
||||||
} header: {
|
} header: {
|
||||||
|
|
@ -4416,22 +4416,22 @@ struct LockScreenSettings: View {
|
||||||
|
|
||||||
if BatteryActivityManager.shared.hasBattery() {
|
if BatteryActivityManager.shared.hasBattery() {
|
||||||
Section {
|
Section {
|
||||||
Defaults.Toggle("Show battery indicator", key: .lockScreenBatteryShowsBatteryGauge)
|
Defaults.Toggle(String(localized: "Show battery indicator"), key: .lockScreenBatteryShowsBatteryGauge)
|
||||||
.settingsHighlight(id: highlightID("Show battery indicator"))
|
.settingsHighlight(id: highlightID("Show battery indicator"))
|
||||||
|
|
||||||
if lockScreenWeatherShowsBatteryGauge {
|
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"))
|
.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"))
|
.settingsHighlight(id: highlightID("Show charging status"))
|
||||||
|
|
||||||
if lockScreenWeatherShowsCharging {
|
if lockScreenWeatherShowsCharging {
|
||||||
Defaults.Toggle("Show charging percentage", key: .lockScreenBatteryShowsChargingPercentage)
|
Defaults.Toggle(String(localized: "Show charging percentage"), key: .lockScreenBatteryShowsChargingPercentage)
|
||||||
.settingsHighlight(id: highlightID("Show charging percentage"))
|
.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"))
|
.settingsHighlight(id: highlightID("Show Bluetooth battery"))
|
||||||
}
|
}
|
||||||
} header: {
|
} header: {
|
||||||
|
|
@ -4442,7 +4442,7 @@ struct LockScreenSettings: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
Defaults.Toggle("Show focus widget", key: .enableLockScreenFocusWidget)
|
Defaults.Toggle(String(localized: "Show focus widget"), key: .enableLockScreenFocusWidget)
|
||||||
.settingsHighlight(id: highlightID("Show focus widget"))
|
.settingsHighlight(id: highlightID("Show focus widget"))
|
||||||
} header: {
|
} header: {
|
||||||
Text("Focus Widget")
|
Text("Focus Widget")
|
||||||
|
|
@ -4593,9 +4593,9 @@ private struct LockScreenPositioningControls: View {
|
||||||
|
|
||||||
HStack(alignment: .top, spacing: 24) {
|
HStack(alignment: .top, spacing: 24) {
|
||||||
offsetColumn(
|
offsetColumn(
|
||||||
title: "Weather",
|
title: String(localized: "Weather"),
|
||||||
value: weatherOffset,
|
value: weatherOffset,
|
||||||
resetTitle: "Reset Weather",
|
resetTitle: String(localized: "Reset Weather"),
|
||||||
resetAction: resetWeatherOffset
|
resetAction: resetWeatherOffset
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -4603,9 +4603,9 @@ private struct LockScreenPositioningControls: View {
|
||||||
.frame(height: 64)
|
.frame(height: 64)
|
||||||
|
|
||||||
offsetColumn(
|
offsetColumn(
|
||||||
title: "Timer",
|
title: String(localized: "Timer"),
|
||||||
value: timerOffset,
|
value: timerOffset,
|
||||||
resetTitle: "Reset Timer",
|
resetTitle: String(localized: "Reset Timer"),
|
||||||
resetAction: resetTimerOffset
|
resetAction: resetTimerOffset
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -4613,9 +4613,9 @@ private struct LockScreenPositioningControls: View {
|
||||||
.frame(height: 64)
|
.frame(height: 64)
|
||||||
|
|
||||||
offsetColumn(
|
offsetColumn(
|
||||||
title: "Music",
|
title: String(localized: "Music"),
|
||||||
value: musicOffset,
|
value: musicOffset,
|
||||||
resetTitle: "Reset Music",
|
resetTitle: String(localized: "Reset Music"),
|
||||||
resetAction: resetMusicOffset
|
resetAction: resetMusicOffset
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -4627,21 +4627,21 @@ private struct LockScreenPositioningControls: View {
|
||||||
|
|
||||||
VStack(alignment: .leading, spacing: 16) {
|
VStack(alignment: .leading, spacing: 16) {
|
||||||
widthSlider(
|
widthSlider(
|
||||||
title: "Media Panel Width",
|
title: String(localized: "Media Panel Width"),
|
||||||
value: musicWidthBinding,
|
value: musicWidthBinding,
|
||||||
range: musicWidthRange,
|
range: musicWidthRange,
|
||||||
resetTitle: "Reset Media Width",
|
resetTitle: String(localized: "Reset Media Width"),
|
||||||
resetAction: resetMusicWidth,
|
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(
|
widthSlider(
|
||||||
title: "Timer Widget Width",
|
title: String(localized: "Timer Widget Width"),
|
||||||
value: timerWidthBinding,
|
value: timerWidthBinding,
|
||||||
range: timerWidthRange,
|
range: timerWidthRange,
|
||||||
resetTitle: "Reset Timer Width",
|
resetTitle: String(localized: "Reset Timer Width"),
|
||||||
resetAction: resetTimerWidth,
|
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: {
|
} header: {
|
||||||
|
|
|
||||||
|
|
@ -162,6 +162,15 @@ enum LockScreenTimerSurfaceMode: String, CaseIterable, Defaults.Serializable, Id
|
||||||
case glass = "Glass"
|
case glass = "Glass"
|
||||||
|
|
||||||
var id: String { rawValue }
|
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 {
|
enum LockScreenWeatherWidgetStyle: String, CaseIterable, Defaults.Serializable, Identifiable {
|
||||||
|
|
@ -169,6 +178,15 @@ enum LockScreenWeatherWidgetStyle: String, CaseIterable, Defaults.Serializable,
|
||||||
case circular = "Circular"
|
case circular = "Circular"
|
||||||
|
|
||||||
var id: String { rawValue }
|
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 {
|
enum LockScreenWeatherProviderSource: String, CaseIterable, Defaults.Serializable, Identifiable {
|
||||||
|
|
@ -223,18 +241,18 @@ enum LockScreenWeatherAirQualityScale: String, CaseIterable, Defaults.Serializab
|
||||||
var compactLabel: String {
|
var compactLabel: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .us:
|
case .us:
|
||||||
return "AQI"
|
return String(localized: "AQI")
|
||||||
case .european:
|
case .european:
|
||||||
return "EAQI"
|
return String(localized: "EAQI")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var accessibilityLabel: String {
|
var accessibilityLabel: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .us:
|
case .us:
|
||||||
return "AQI"
|
return String(localized: "AQI")
|
||||||
case .european:
|
case .european:
|
||||||
return "EAQI"
|
return String(localized: "EAQI")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue