From 8c4720d0cbaf749b5610f8a40d66a017a1a384c0 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Sun, 19 Mar 2023 12:14:10 +0000 Subject: [PATCH] ios: link to set app interface language --- .../Views/UserSettings/AppearanceSettings.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift b/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift index 712dfe43cd..1f648b09dc 100644 --- a/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift +++ b/apps/ios/Shared/Views/UserSettings/AppearanceSettings.swift @@ -14,6 +14,8 @@ let interfaceStyles: [UIUserInterfaceStyle] = [.unspecified, .light, .dark] let interfaceStyleNames: [LocalizedStringKey] = ["System", "Light", "Dark"] +let appSettingsURL = URL(string: UIApplication.openSettingsURLString)! + struct AppearanceSettings: View { @EnvironmentObject var sceneDelegate: SceneDelegate @State private var iconLightTapped = false @@ -24,6 +26,16 @@ struct AppearanceSettings: View { var body: some View { VStack{ List { + Section(String("Language")) { + HStack { + Text(currentLanguage) + Spacer() + Button("Change") { + UIApplication.shared.open(appSettingsURL) + } + } + } + Section("App icon") { HStack { updateAppIcon(image: "icon-light", icon: nil, tapped: $iconLightTapped) @@ -62,6 +74,11 @@ struct AppearanceSettings: View { } } + private var currentLanguage: String { + let lang = Bundle.main.preferredLocalizations.first ?? "en" + return Locale.current.localizedString(forIdentifier: lang)?.localizedCapitalized ?? lang + } + private func updateAppIcon(image: String, icon: String?, tapped: Binding) -> some View { Image(image) .resizable()