Example #1
0
        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));
        }
Example #2
0
        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));
        }