private void Localize() { string locale = LocaleInformation.GetLocale(); foreach (Models.ProductStrings strings in _model.Strings) { if (locale.ToLower() == strings.Locale.ToLower()) { Name = strings.Name; Description = strings.Description; break; } } if (!string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(Description)) { return; } foreach (Models.ProductStrings strings in _model.Strings) { if (strings.Locale.ToLower() == "english") { Name = strings.Name; Description = strings.Description;//Если среди переводов описания словаря нет перевода под текущую локаль то берем английское описание break; } } if (!string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(Description)) { return; } foreach (Models.ProductStrings strings in _model.Strings) { Name = strings.Name; Description = strings.Description; if (!string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(Description)) { return;//На случай если нет английского перевода и под локаль его тоже нет.Берем первое попавшеесся.В идеале сюда мы дойти уже не должны!! } } }
public static string GetWordListName(Dictionary.WordList list) { string locale = LocaleInformation.GetLocale(); foreach (Dictionary.LocalizedString localizedName in list.NameStrings) { if (localizedName.Language.FullName == locale) { return(localizedName.Value); } } if (list.NameStrings.Count > 0) { return(list.NameStrings[0].Value); } return(string.Empty); }