mirror of
https://github.com/codybrom/blankie.git
synced 2026-05-14 07:40:35 +00:00
fix: always display system language in language selector
This commit is contained in:
@@ -22,9 +22,30 @@ struct Language: Hashable, Identifiable, Equatable {
|
||||
}
|
||||
|
||||
static var system: Language {
|
||||
Language(
|
||||
// Read the system's actual language preference from UserDefaults global domain
|
||||
let globalDomain = UserDefaults(suiteName: UserDefaults.globalDomain)
|
||||
let systemLanguages = globalDomain?.object(forKey: "AppleLanguages") as? [String]
|
||||
let systemLanguageCode = systemLanguages?.first ?? "en"
|
||||
|
||||
// For display, we want just the base language code (e.g., "en" from "en-US")
|
||||
let languageCode =
|
||||
systemLanguageCode.split(separator: "-").first.map(String.init) ?? systemLanguageCode
|
||||
|
||||
// Create a locale for the system language to get its native name
|
||||
let systemLocale = Locale(identifier: languageCode)
|
||||
|
||||
// Get the language name in its own locale (e.g., "English" for en, "Español" for es)
|
||||
let languageName = systemLocale.localizedString(forLanguageCode: languageCode) ?? languageCode
|
||||
|
||||
// Show "System (Language)" where System is in the current app language
|
||||
let displayName =
|
||||
"\(NSLocalizedString("System", comment: "System default language option")) (\(languageName))"
|
||||
|
||||
print("🌐 System language from global domain: code=\(languageCode), name=\(languageName)")
|
||||
|
||||
return Language(
|
||||
code: "system",
|
||||
displayName: NSLocalizedString("System", comment: "System default language option"),
|
||||
displayName: displayName,
|
||||
icon: "globe")
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ struct PreferencesView: View {
|
||||
}
|
||||
.pickerStyle(.menu)
|
||||
.labelsHidden()
|
||||
.frame(width: 180)
|
||||
.frame(width: 220)
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
|
||||
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
- Improved French (Français) translations - thanks to **ma203**
|
||||
- Improved Simple Chinese (中文) translations
|
||||
- Fixed an issue where the app wasn't restarting properly after language changes
|
||||
- Improved translation credits layout
|
||||
|
||||
## [1.0.8] - 2025-05-21
|
||||
|
||||
Reference in New Issue
Block a user