namespace Gallery.Resources { public class PlatformCulture { public string PlatformString { get; private set; } public string LanguageCode { get; private set; } public string LocaleCode { get; private set; } public string Language => string.IsNullOrEmpty(LocaleCode) ? LanguageCode : $"{LanguageCode}-{LocaleCode}"; public PlatformCulture() : this(null) { } public PlatformCulture(string cultureString) { if (string.IsNullOrEmpty(cultureString)) { cultureString = "zh-CN"; } PlatformString = cultureString.Replace('_', '-'); var index = PlatformString.IndexOf('-'); if (index > 0) { var parts = PlatformString.Split('-'); LanguageCode = parts[0]; LocaleCode = parts[^1]; } else { LanguageCode = PlatformString; LocaleCode = string.Empty; } } public override string ToString() => PlatformString; } }