public static IList <TranslationColumn> ReadCultures(IXLWorksheet worksheet) { var textValues = worksheet.Row(1).Cells().Where(cell => cell.Value != null).Select(cell => cell.Value.ToString()).ToList <String>(); var cols = textValues.Skip(2).Where(s => !s.Contains(COMMENTS_KEY)).ToList <String>(); var list = new List <TranslationColumn>(); foreach (var s in cols) { var textColumn = new TranslationColumn(new CultureInfo(s)); textColumn.TextColumnIndex = textValues.IndexOf(s); string commentsKey = s; string commentColumn = null; commentsKey += " [Comments]"; commentColumn = textValues.Skip(2).Where(t => t.Equals(commentsKey)).FirstOrDefault(); if (commentColumn == null && String.IsNullOrEmpty(s)) { commentColumn = textValues.Skip(2).Where(t => t.Equals(COMMENTS_KEY)).FirstOrDefault(); } if (commentColumn != null) { textColumn.CommentColumnIndex = textValues.IndexOf(commentColumn); } list.Add(textColumn); } return(list); }
public static IEnumerable<TranslationColumn> ReadCultures(IXLWorksheet worksheet) { var textValues = worksheet.Row(1).Cells().Where(cell => cell.Value != null).Select(cell => cell.Value.ToString()).ToList<String>(); var cols = textValues.Skip(2).Where(s => !s.Contains("[Comments]")).ToList<String>(); var list = new List<TranslationColumn>(); foreach (var s in cols) { try { var textColumn = new TranslationColumn(new CultureInfo(s)); textColumn.TextColumnIndex = textValues.IndexOf(s); string commentsKey = s; if (s != "") commentsKey += " [Comments]"; else commentsKey += "[Comments]"; var commentColumn = textValues.Skip(2).Where(t => t.Equals(commentsKey)).FirstOrDefault(); if (commentColumn != null) textColumn.CommentColumnIndex = textValues.IndexOf(commentColumn); list.Add(textColumn); } catch (CultureNotFoundException) { } } return list; }