mirror of
https://github.com/jkcoxson/LocalDevVPN.git
synced 2026-03-02 14:36:16 +01:00
Fixing bugs
Fixed bugs for selecting language from dropdown and fallback if is not supported Signed-off-by: Play Epik Incorporation <help.playepik@gmail.com>
This commit is contained in:
committed by
GitHub
parent
83e7c2b8e7
commit
6713cebf39
@@ -615,7 +615,7 @@ struct StatItemView: View {
|
||||
// MARK: - Updated SettingsView
|
||||
struct SettingsView: View {
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
@State private var selectedLanguage = 0
|
||||
@AppStorage("selectedLanguage") private var selectedLanguage = Locale.current.languageCode ?? "en"
|
||||
@AppStorage("TunnelDeviceIP") private var deviceIP = "10.7.0.0"
|
||||
@AppStorage("TunnelFakeIP") private var fakeIP = "10.7.0.1"
|
||||
@AppStorage("TunnelSubnetMask") private var subnetMask = "255.255.255.0"
|
||||
@@ -680,11 +680,14 @@ struct SettingsView: View {
|
||||
|
||||
Section(header: Text("language")) {
|
||||
Picker("language", selection: $selectedLanguage) {
|
||||
Text("english").tag(0)
|
||||
Text("spanish").tag(1)
|
||||
Text("italian").tag(2)
|
||||
Text("English").tag(0)
|
||||
Text("Spanish").tag(1)
|
||||
Text("Italian").tag(2)
|
||||
}
|
||||
.onChange(of: selectedLanguage) { newValue in
|
||||
let languageCode = ["en", "es", "it"][newValue]
|
||||
LanguageManager().updateLanguage(to: languageCode)
|
||||
}
|
||||
.pickerStyle(MenuPickerStyle())
|
||||
}
|
||||
}
|
||||
.navigationTitle(Text("settings"))
|
||||
@@ -967,6 +970,24 @@ struct SetupPageView: View {
|
||||
}
|
||||
}
|
||||
|
||||
class LanguageManager: ObservableObject {
|
||||
@Published var currentLanguage: String = Locale.current.languageCode ?? "en"
|
||||
|
||||
private let supportedLanguages = ["en", "es", "it"]
|
||||
|
||||
func updateLanguage(to languageCode: String) {
|
||||
if supportedLanguages.contains(languageCode) {
|
||||
currentLanguage = languageCode
|
||||
UserDefaults.standard.set([languageCode], forKey: "AppleLanguages")
|
||||
UserDefaults.standard.synchronize()
|
||||
} else {
|
||||
currentLanguage = "en" //FALLBACK TO DEFAULT LANGUAGE
|
||||
UserDefaults.standard.set(["en"], forKey: "AppleLanguages")
|
||||
UserDefaults.standard.synchronize()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
ContentView()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user