mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Fix strings detections and translates the entire Onboarding
This commit is contained in:
parent
f6f6321def
commit
d80ead1bd2
4 changed files with 19 additions and 20 deletions
|
|
@ -136,13 +136,13 @@ extension MediaControllerType {
|
||||||
var description: String {
|
var description: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .nowPlaying:
|
case .nowPlaying:
|
||||||
return "Works with most media apps, including browsers, to detect what's playing. Note: This may be removed in a future macOS version."
|
return String(localized: "Works with most media apps, including browsers, to detect what's playing. Note: This may be removed in a future macOS version.")
|
||||||
case .spotify:
|
case .spotify:
|
||||||
return "Connects directly to the Spotify app."
|
return String(localized: "Connects directly to the Spotify app.")
|
||||||
case .appleMusic:
|
case .appleMusic:
|
||||||
return "Connects directly to the Apple Music app."
|
return String(localized: "Connects directly to the Apple Music app.")
|
||||||
case .youtubeMusic:
|
case .youtubeMusic:
|
||||||
return "Requires a third-party client with API plugin enabled."
|
return String(localized: "Requires a third-party client with API plugin enabled.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,9 +53,9 @@ struct OnboardingView: View {
|
||||||
case .cameraPermission:
|
case .cameraPermission:
|
||||||
PermissionRequestView(
|
PermissionRequestView(
|
||||||
icon: Image(systemName: "camera.fill"),
|
icon: Image(systemName: "camera.fill"),
|
||||||
title: "Enable Camera Access",
|
title: String(localized: "Enable Camera Access"),
|
||||||
description: "Atoll includes a mirror feature that lets you quickly check your appearance using your camera, right from the notch. Camera access is required only to show this live preview. You can turn the mirror feature on or off at any time in the app.",
|
description: String(localized: "Atoll includes a mirror feature that lets you quickly check your appearance using your camera, right from the notch. Camera access is required only to show this live preview. You can turn the mirror feature on or off at any time in the app."),
|
||||||
privacyNote: "Your camera is never used without your consent, and nothing is recorded or stored.",
|
privacyNote: String(localized: "Your camera is never used without your consent, and nothing is recorded or stored."),
|
||||||
onAllow: {
|
onAllow: {
|
||||||
Task {
|
Task {
|
||||||
await requestCameraPermission()
|
await requestCameraPermission()
|
||||||
|
|
@ -75,9 +75,9 @@ struct OnboardingView: View {
|
||||||
case .calendarPermission:
|
case .calendarPermission:
|
||||||
PermissionRequestView(
|
PermissionRequestView(
|
||||||
icon: Image(systemName: "calendar"),
|
icon: Image(systemName: "calendar"),
|
||||||
title: "Enable Calendar Access",
|
title: String(localized: "Enable Calendar Access"),
|
||||||
description: "Atoll can show all your upcoming events in one place. Access to your calendar is needed to display your schedule.",
|
description: String(localized: "Atoll can show all your upcoming events in one place. Access to your calendar is needed to display your schedule."),
|
||||||
privacyNote: "Your calendar data is only used to show your events and is never shared.",
|
privacyNote: String(localized: "Your calendar data is only used to show your events and is never shared."),
|
||||||
onAllow: {
|
onAllow: {
|
||||||
Task {
|
Task {
|
||||||
await requestCalendarPermission()
|
await requestCalendarPermission()
|
||||||
|
|
|
||||||
|
|
@ -34,30 +34,30 @@ struct ProfileSelectionView: View {
|
||||||
let profiles: [UserProfile] = [
|
let profiles: [UserProfile] = [
|
||||||
UserProfile(
|
UserProfile(
|
||||||
id: "developer",
|
id: "developer",
|
||||||
name: "Developer",
|
name: String(localized: "Developer"),
|
||||||
icon: "terminal.fill",
|
icon: "terminal.fill",
|
||||||
description: "Code and debug with color picker, stats monitoring, and screen assistant.",
|
description: String(localized: "Code and debug with color picker, stats monitoring, and screen assistant."),
|
||||||
gradient: [Color.blue, Color.purple]
|
gradient: [Color.blue, Color.purple]
|
||||||
),
|
),
|
||||||
UserProfile(
|
UserProfile(
|
||||||
id: "designer",
|
id: "designer",
|
||||||
name: "Designer",
|
name: String(localized: "Designer"),
|
||||||
icon: "paintbrush.fill",
|
icon: "paintbrush.fill",
|
||||||
description: "Create and design with color picker, mirror, and visual effects.",
|
description: String(localized: "Create and design with color picker, mirror, and visual effects."),
|
||||||
gradient: [Color.pink, Color.orange]
|
gradient: [Color.pink, Color.orange]
|
||||||
),
|
),
|
||||||
UserProfile(
|
UserProfile(
|
||||||
id: "lightuse",
|
id: "lightuse",
|
||||||
name: "Light Use",
|
name: String(localized: "Light Use"),
|
||||||
icon: "sparkles",
|
icon: "sparkles",
|
||||||
description: "Simple and minimal interface with just the essentials for everyday tasks.",
|
description: String(localized: "Simple and minimal interface with just the essentials for everyday tasks."),
|
||||||
gradient: [Color.green, Color.mint]
|
gradient: [Color.green, Color.mint]
|
||||||
),
|
),
|
||||||
UserProfile(
|
UserProfile(
|
||||||
id: "student",
|
id: "student",
|
||||||
name: "Student",
|
name: String(localized: "Student"),
|
||||||
icon: "book.fill",
|
icon: "book.fill",
|
||||||
description: "Stay organized with calendar, timer, and battery monitoring.",
|
description: String(localized: "Stay organized with calendar, timer, and battery monitoring."),
|
||||||
gradient: [Color.indigo, Color.cyan]
|
gradient: [Color.indigo, Color.cyan]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1682,8 +1682,7 @@ struct GeneralSettings: View {
|
||||||
if enableHorizontalMusicGestures {
|
if enableHorizontalMusicGestures {
|
||||||
Picker("Gesture skip behavior", selection: $musicGestureBehavior) {
|
Picker("Gesture skip behavior", selection: $musicGestureBehavior) {
|
||||||
ForEach(MusicSkipBehavior.allCases) { behavior in
|
ForEach(MusicSkipBehavior.allCases) { behavior in
|
||||||
Text(behavior.displayName)
|
Text(behavior.displayName).tag(behavior)
|
||||||
.tag(behavior)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.pickerStyle(.segmented)
|
.pickerStyle(.segmented)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue