mirror of
https://github.com/jkcoxson/LocalDevVPN.git
synced 2026-03-02 06:26: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
|
// MARK: - Updated SettingsView
|
||||||
struct SettingsView: View {
|
struct SettingsView: View {
|
||||||
@Environment(\.dismiss) private var dismiss
|
@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("TunnelDeviceIP") private var deviceIP = "10.7.0.0"
|
||||||
@AppStorage("TunnelFakeIP") private var fakeIP = "10.7.0.1"
|
@AppStorage("TunnelFakeIP") private var fakeIP = "10.7.0.1"
|
||||||
@AppStorage("TunnelSubnetMask") private var subnetMask = "255.255.255.0"
|
@AppStorage("TunnelSubnetMask") private var subnetMask = "255.255.255.0"
|
||||||
@@ -680,11 +680,14 @@ struct SettingsView: View {
|
|||||||
|
|
||||||
Section(header: Text("language")) {
|
Section(header: Text("language")) {
|
||||||
Picker("language", selection: $selectedLanguage) {
|
Picker("language", selection: $selectedLanguage) {
|
||||||
Text("english").tag(0)
|
Text("English").tag(0)
|
||||||
Text("spanish").tag(1)
|
Text("Spanish").tag(1)
|
||||||
Text("italian").tag(2)
|
Text("Italian").tag(2)
|
||||||
|
}
|
||||||
|
.onChange(of: selectedLanguage) { newValue in
|
||||||
|
let languageCode = ["en", "es", "it"][newValue]
|
||||||
|
LanguageManager().updateLanguage(to: languageCode)
|
||||||
}
|
}
|
||||||
.pickerStyle(MenuPickerStyle())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.navigationTitle(Text("settings"))
|
.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 {
|
#Preview {
|
||||||
ContentView()
|
ContentView()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user