public static string GetResource(IXLocalisable localisable, string name, CultureInfo culture) { if (localisable == null || localisable.XLocalisedResources == null || localisable.XLocalisedResources.Resources == null || localisable.XLocalisedResources.Resources.Count == 0) { return(null); } var cultureName = culture.Name; var cultureSuperName = culture.TwoLetterISOLanguageName; const string defaultCultureName = "en"; var resources = localisable.XLocalisedResources.Resources; var i = resources.FirstOrDefault(_ => _.CultureName == cultureName) ?? resources.FirstOrDefault(_ => _.CultureName == cultureSuperName) ?? resources.FirstOrDefault(_ => _.CultureName == defaultCultureName); if (i == null) { return(null); } var val = i.Values.FirstOrDefault(_ => _.Name == name); return(val != null?_ecodeEncodedNonAsciiCharacters(val.Value) : null); }
public static string GetResource(IXLocalisable localisable, string name, CultureInfo culture) { if (localisable == null || localisable.XLocalisedResources == null || localisable.XLocalisedResources.Resources == null || localisable.XLocalisedResources.Resources.Count == 0) { return null; } var cultureName = culture.Name; var cultureSuperName = culture.TwoLetterISOLanguageName; const string defaultCultureName = "en"; var resources = localisable.XLocalisedResources.Resources; var i = resources.FirstOrDefault(_ => _.CultureName == cultureName) ?? resources.FirstOrDefault(_ => _.CultureName == cultureSuperName) ?? resources.FirstOrDefault(_ => _.CultureName == defaultCultureName); if (i == null) { return null; } var val = i.Values.FirstOrDefault(_ => _.Name == name); return val != null ? _ecodeEncodedNonAsciiCharacters(val.Value) : null; }