using System.Globalization; namespace zero.Localization; public class CultureService : ICultureService { /// public List GetAllCultures(params string[] codes) { return CultureInfo.GetCultures(CultureTypes.AllCultures) .Where(x => !x.Name.IsNullOrWhiteSpace()) .Select(x => new CultureInfo(x.Name)) .Where(x => codes.Length == 0 || codes.Contains(x.Name, StringComparer.InvariantCultureIgnoreCase)) .OrderBy(x => x.DisplayName) .Select(x => new Culture() { Code = x.Name, Name = x.DisplayName }) .ToList(); } } public interface ICultureService { /// /// Get all available cultures /// List GetAllCultures(params string[] codes); }