private static string Transliterate(OptionMetadata optionMetadata, string englishName) { var localizedLabels = optionMetadata.Label.LocalizedLabels; if (LanguageCodeOverride < 0 || LanguageCodeOverride == English) { if (IsLabelPopulated(englishName)) { return(englishName.RemoveDiacritics()); } } else { var overrideLabel = localizedLabels.FirstOrDefault(l => l.LanguageCode == LanguageCodeOverride && IsLabelPopulated(l.Label)); if (overrideLabel != null) { return(TransliterationService.HasCode(LanguageCodeOverride) ? TransliterationService.Transliterate(overrideLabel) : overrideLabel.Label.RemoveDiacritics()); } } var localizedLabel = localizedLabels.FirstOrDefault(x => TransliterationService.HasCode(x.LanguageCode) && IsLabelPopulated(x.Label)); return(localizedLabel == null? localizedLabels.FirstOrDefault(x => IsLabelPopulated(x.Label))?.Label?.RemoveDiacritics() ?? string.Empty: TransliterationService.Transliterate(localizedLabel)); }
private static string Transliterate(OptionMetadata optionMetadata, string defaultName) { var defaultNameIsInEnglish = IsLabelPopulated(defaultName); if (defaultNameIsInEnglish) { return(defaultName); } var localizedLabels = optionMetadata.Label.LocalizedLabels; var localizedLabel = localizedLabels.FirstOrDefault(x => TransliterationService.HasCode(x.LanguageCode)); return(localizedLabel == null? localizedLabels.FirstOrDefault(x => IsLabelPopulated(x.Label))?.Label?.RemoveDiacritics() : TransliterationService.Transliterate(localizedLabel.LanguageCode, localizedLabel.Label)); }
private static string Transliterate(OptionMetadata optionMetadata, string defaultName) { var defaultNameIsInEnglish = !string.IsNullOrEmpty(defaultName) && !defaultName.Contains("UnknownLabel"); if (defaultNameIsInEnglish) { return(defaultName); } var localizedLabel = optionMetadata.Label .LocalizedLabels .FirstOrDefault(x => TransliterationService.AvailableCodes.Value.Contains(x.LanguageCode)); return(localizedLabel == null? defaultName.RemoveDiacritics() : TransliterationService.Transliterate(localizedLabel.LanguageCode, localizedLabel.Label)); }